#ifndef JIAJIA_LMCC_ENCODE_HPP
#define JIAJIA_LMCC_ENCODE_HPP

#include<iostream>
#include<string>
#include<vector>
#include<stack>

namespace jiajia{
	namespace lmcc{
		using word_t = int;

		static const word_t begin_of_id = 0;
		static const word_t num_of_id = 53;
		static const word_t begin_of_item = 255;
		static const word_t num_of_item = 22;

		static const word_t begin_of_err = -1;
		static const word_t num_of_err = 6;

		const word_t _err_escape_newline = -6;
		const word_t _err_escape_eof = -5;
		const word_t _err_escape_tab = -4;
		const word_t _err_escape = -3;
		const word_t _err_str = -2;
		const word_t _err = -1;
		const word_t _empty = 0;
		const word_t _eof = 1;
		const word_t _id = 2;
		const word_t _realnum = 3;
		const word_t _str = 4;
		const word_t _note = 5;
		const word_t _blank = 6;
		const word_t _add = 7;
		const word_t _sub = 8;
		const word_t _mult = 9;
		const word_t _dev = 10;
		const word_t _link = 11;
		const word_t _assign = 12;
		const word_t _eq = 13;
		const word_t _lt = 14;
		const word_t _gt = 15;
		const word_t _le = 16;
		const word_t _ge = 17;
		const word_t _ne = 18;
		const word_t _lbracket = 19;
		const word_t _rbracket = 20;
		const word_t _lparen = 21;
		const word_t _rparen = 22;
		const word_t _lbrace = 23;
		const word_t _rbrace = 24;
		const word_t _dot = 25;
		const word_t _comma = 26;
		const word_t _semicolon = 27;
		const word_t _dun = 28;
		const word_t _at = 29;
		const word_t _true = 30;
		const word_t _false = 31;
		const word_t _shi = 32;
		const word_t _fou = 33;
		const word_t _shifoueq = 34;
		const word_t _shifoune = 35;
		const word_t _shifoult = 36;
		const word_t _shifougt = 37;
		const word_t _shifoule = 38;
		const word_t _shifouge = 39;
		const word_t _or = 40;
		const word_t _and = 41;
		const word_t _de = 42;
		const word_t _if = 43;
		const word_t _elif = 44;
		const word_t _else = 45;
		const word_t _until = 46;
		const word_t _loop = 47;
		const word_t _break = 48;
		const word_t _continue = 49;
		const word_t _loopfactor = 50;
		const word_t _end = 51;
		const word_t _ta = 52;
		const word_t _lmcc = 255;
		const word_t _blocks = 256;
		const word_t _block = 257;
		const word_t _stmts = 258;
		const word_t _seqbody = 259;
		const word_t _stmt = 260;
		const word_t _shifoustmt = 261;
		const word_t _expr = 262;
		const word_t _callhead = 263;
		const word_t _call = 264;
		const word_t _assignexpr = 265;
		const word_t _orexpr = 266;
		const word_t _andexpr = 267;
		const word_t _eqexpr = 268;
		const word_t _compexpr = 269;
		const word_t _linkexpr = 270;
		const word_t _arithexpr = 271;
		const word_t _term = 272;
		const word_t _value = 273;
		const word_t _factor = 274;
		const word_t _idexpr = 275;
		const word_t _constant = 276;
		static const char * WORDSTR(const word_t word){
			switch(word){
		case -6: return "err_escape_newline";
		case -5: return "err_escape_eof";
		case -4: return "err_escape_tab";
		case -3: return "err_escape";
		case -2: return "err_str";
		case -1: return "err";
		case 0: return "empty";
		case 1: return "eof";
		case 2: return "id";
		case 3: return "realnum";
		case 4: return "str";
		case 5: return "note";
		case 6: return "blank";
		case 7: return "add";
		case 8: return "sub";
		case 9: return "mult";
		case 10: return "dev";
		case 11: return "link";
		case 12: return "assign";
		case 13: return "eq";
		case 14: return "lt";
		case 15: return "gt";
		case 16: return "le";
		case 17: return "ge";
		case 18: return "ne";
		case 19: return "lbracket";
		case 20: return "rbracket";
		case 21: return "lparen";
		case 22: return "rparen";
		case 23: return "lbrace";
		case 24: return "rbrace";
		case 25: return "dot";
		case 26: return "comma";
		case 27: return "semicolon";
		case 28: return "dun";
		case 29: return "at";
		case 30: return "true";
		case 31: return "false";
		case 32: return "shi";
		case 33: return "fou";
		case 34: return "shifoueq";
		case 35: return "shifoune";
		case 36: return "shifoult";
		case 37: return "shifougt";
		case 38: return "shifoule";
		case 39: return "shifouge";
		case 40: return "or";
		case 41: return "and";
		case 42: return "de";
		case 43: return "if";
		case 44: return "elif";
		case 45: return "else";
		case 46: return "until";
		case 47: return "loop";
		case 48: return "break";
		case 49: return "continue";
		case 50: return "loopfactor";
		case 51: return "end";
		case 52: return "ta";
		case 255: return "lmcc";
		case 256: return "blocks";
		case 257: return "block";
		case 258: return "stmts";
		case 259: return "seqbody";
		case 260: return "stmt";
		case 261: return "shifoustmt";
		case 262: return "expr";
		case 263: return "callhead";
		case 264: return "call";
		case 265: return "assignexpr";
		case 266: return "orexpr";
		case 267: return "andexpr";
		case 268: return "eqexpr";
		case 269: return "compexpr";
		case 270: return "linkexpr";
		case 271: return "arithexpr";
		case 272: return "term";
		case 273: return "value";
		case 274: return "factor";
		case 275: return "idexpr";
		case 276: return "constant";
			default: return "";
			}
		}


		const int _attr_blank = 1;
		const int _attr_eof = 2;
		const int _attr_escape1 = 6;
		const int _attr_escape2 = 8;
		const int _attr_id = 10;
		const int _attr_note = 11;
		const int _attr_num = 3;
		const int _attr_realnum = 4;
		const int _attr_str = 9;
		const int _attr_str1_body = 5;
		const int _attr_str2_body = 7;
		const int _attr_zero = 0;

		static int STATE(const int s, const my::unicode_t u){
			switch(s){
			case 0:
				switch(u){
				case -1: return 2; // \eof
				case 8: return 1; // \back
				case 9: return 1; // \tab
				case 10: return 1; // \newline
				case 13: return 1; // \return
				case 32: return 1; // \space
				case 33: return 45; // !
				case 34: return 5; // "
				case 35: return 11; // #
				case 36: return -2; // $
				case 37: return -2; // %
				case 38: return 30; // &
				case 39: return -2; // '
				case 40: return 52; // (
				case 41: return 53; // )
				case 42: return 26; // *
				case 43: return 24; // +
				case 44: return 60; // ,
				case 45: return 25; // -
				case 46: return 58; // .
				case 47: return 27; // /
				case 48: return 3; // 0
				case 49: return 3; // 1
				case 50: return 3; // 2
				case 51: return 3; // 3
				case 52: return 3; // 4
				case 53: return 3; // 5
				case 54: return 3; // 6
				case 55: return 3; // 7
				case 56: return 3; // 8
				case 57: return 3; // 9
				case 58: return 64; // :
				case 59: return 62; // ;
				case 60: return 34; // <
				case 61: return 32; // =
				case 62: return 35; // >
				case 63: return -2; // ?
				case 64: return 68; // @
				case 91: return 48; // [
				case 92: return 66; // '\'
				case 93: return 49; // ]
				case 94: return -2; // ^
				case 96: return -2; // `
				case 102: return 73; // f
				case 116: return 69; // t
				case 123: return 56; // {
				case 124: return -2; // |
				case 125: return 57; // }
				case 126: return -2; // ~
				case 165: return -2; // ¥
				case 171: return -2; // «
				case 177: return -2; // ±
				case 187: return -2; // »
				case 215: return 28; // ×
				case 247: return 29; // ÷
				case 8212: return -2; // —
				case 8216: return -2; // ‘
				case 8217: return -2; // ’
				case 8220: return 7; // “
				case 8221: return -2; // ”
				case 8230: return -2; // …
				case 8709: return -2; // ∅
				case 8719: return -2; // ∏
				case 8721: return -2; // ∑
				case 8756: return -2; // ∴
				case 8757: return -2; // ∵
				case 8758: return -2; // ∶
				case 8759: return -2; // ∷
				case 8776: return -2; // ≈
				case 8786: return -2; // ≒
				case 8800: return 47; // ≠
				case 8801: return 44; // ≡
				case 8804: return 40; // ≤
				case 8805: return 41; // ≥
				case 8806: return 42; // ≦
				case 8807: return 43; // ≧
				case 12289: return 67; // 、
				case 12290: return 59; // 。
				case 12298: return -2; // 《
				case 12299: return -2; // 》
				case 12304: return 50; // 【
				case 12305: return 51; // 】
				case 12310: return -2; // 〖
				case 12311: return -2; // 〗
				case 19981: return 118; // 不
				case 19988: return 106; // 且
				case 20026: return 78; // 为
				case 20056: return 153; // 乘
				case 20182: return 156; // 他
				case 20294: return 132; // 但
				case 20551: return 104; // 假
				case 20943: return 152; // 减
				case 21152: return 151; // 加
				case 21542: return 80; // 否
				case 22823: return 111; // 大
				case 22905: return 157; // 她
				case 22914: return 130; // 如
				case 23427: return 155; // 它
				case 23567: return 109; // 小
				case 24490: return 141; // 循
				case 25110: return 105; // 或
				case 26159: return 79; // 是
				case 30340: return 129; // 的
				case 30452: return 139; // 直
				case 30495: return 103; // 真
				case 31561: return 107; // 等
				case 32467: return 149; // 结
				case 38500: return 154; // 除
				case 65281: return -2; // ！
				case 65283: return -2; // ＃
				case 65286: return 31; // ＆
				case 65288: return 55; // （
				case 65289: return 54; // ）
				case 65291: return -2; // ＋
				case 65292: return 61; // ，
				case 65293: return -2; // －
				case 65295: return -2; // ／
				case 65306: return 65; // ：
				case 65307: return 63; // ；
				case 65308: return 36; // ＜
				case 65309: return -2; // ＝
				case 65310: return 37; // ＞
				case 65311: return -2; // ？
				case 65312: return -2; // ＠
				case 65339: return -2; // ［
				case 65340: return -2; // ＼
				case 65341: return -2; // ］
				case 65371: return -2; // ｛
				case 65372: return -2; // ｜
				case 65373: return -2; // ｝
				case 65374: return -2; // ～
				case 65509: return -2; // ￥
				default: return 10;
				}
			break;
			case 1:
				switch(u){
				case 8: return 1; // \back
				case 9: return 1; // \tab
				case 10: return 1; // \newline
				case 13: return 1; // \return
				case 32: return 1; // \space
				default: return -1;
				}
			break;
			case 2: return -1;
			case 3:
				switch(u){
				case 46: return 4; // .
				case 48: return 3; // 0
				case 49: return 3; // 1
				case 50: return 3; // 2
				case 51: return 3; // 3
				case 52: return 3; // 4
				case 53: return 3; // 5
				case 54: return 3; // 6
				case 55: return 3; // 7
				case 56: return 3; // 8
				case 57: return 3; // 9
				default: return -1;
				}
			break;
			case 4:
				switch(u){
				case 48: return 4; // 0
				case 49: return 4; // 1
				case 50: return 4; // 2
				case 51: return 4; // 3
				case 52: return 4; // 4
				case 53: return 4; // 5
				case 54: return 4; // 6
				case 55: return 4; // 7
				case 56: return 4; // 8
				case 57: return 4; // 9
				default: return -1;
				}
			break;
			case 5:
				switch(u){
				case -1: return -2; // \eof
				case 10: return -2; // \newline
				case 34: return 9; // "
				case 64: return 6; // @
				default: return 5;
				}
			break;
			case 6:
				switch(u){
				case 34: return 5; // "
				case 64: return 5; // @
				case 101: return 16; // e
				case 116: return 12; // t
				case 8220: return 5; // “
				case 8221: return 5; // ”
				case 21046: return 22; // 制
				case 22238: return 20; // 回
				default: return -3;
				}
			break;
			case 7:
				switch(u){
				case -1: return -2; // \eof
				case 10: return -2; // \newline
				case 64: return 8; // @
				case 8221: return 9; // ”
				default: return 7;
				}
			break;
			case 8:
				switch(u){
				case 34: return 7; // "
				case 64: return 7; // @
				case 101: return 18; // e
				case 116: return 14; // t
				case 8220: return 7; // “
				case 8221: return 7; // ”
				case 21046: return 23; // 制
				case 22238: return 21; // 回
				default: return -3;
				}
			break;
			case 9: return -1;
			case 10:
				switch(u){
				case -1: return -1; // \eof
				case 8: return -1; // \back
				case 9: return -1; // \tab
				case 10: return -1; // \newline
				case 13: return -1; // \return
				case 32: return -1; // \space
				case 33: return -1; // !
				case 34: return -1; // "
				case 35: return -1; // #
				case 36: return -1; // $
				case 37: return -1; // %
				case 38: return -1; // &
				case 39: return -1; // '
				case 40: return -1; // (
				case 41: return -1; // )
				case 42: return -1; // *
				case 43: return -1; // +
				case 44: return -1; // ,
				case 45: return -1; // -
				case 46: return -1; // .
				case 47: return -1; // /
				case 58: return -1; // :
				case 59: return -1; // ;
				case 60: return -1; // <
				case 61: return -1; // =
				case 62: return -1; // >
				case 63: return -1; // ?
				case 64: return -1; // @
				case 91: return -1; // [
				case 92: return -1; // '\'
				case 93: return -1; // ]
				case 94: return -1; // ^
				case 96: return -1; // `
				case 102: return -1; // f
				case 116: return -1; // t
				case 123: return -1; // {
				case 124: return -1; // |
				case 125: return -1; // }
				case 126: return -1; // ~
				case 165: return -1; // ¥
				case 171: return -1; // «
				case 177: return -1; // ±
				case 187: return -1; // »
				case 215: return -1; // ×
				case 247: return -1; // ÷
				case 8212: return -1; // —
				case 8216: return -1; // ‘
				case 8217: return -1; // ’
				case 8220: return -1; // “
				case 8221: return -1; // ”
				case 8230: return -1; // …
				case 8709: return -1; // ∅
				case 8719: return -1; // ∏
				case 8721: return -1; // ∑
				case 8756: return -1; // ∴
				case 8757: return -1; // ∵
				case 8758: return -1; // ∶
				case 8759: return -1; // ∷
				case 8776: return -1; // ≈
				case 8786: return -1; // ≒
				case 8800: return -1; // ≠
				case 8801: return -1; // ≡
				case 8804: return -1; // ≤
				case 8805: return -1; // ≥
				case 8806: return -1; // ≦
				case 8807: return -1; // ≧
				case 12289: return -1; // 、
				case 12290: return -1; // 。
				case 12298: return -1; // 《
				case 12299: return -1; // 》
				case 12304: return -1; // 【
				case 12305: return -1; // 】
				case 12310: return -1; // 〖
				case 12311: return -1; // 〗
				case 19981: return -1; // 不
				case 19988: return -1; // 且
				case 20026: return -1; // 为
				case 20056: return -1; // 乘
				case 20182: return -1; // 他
				case 20294: return -1; // 但
				case 20551: return -1; // 假
				case 20943: return -1; // 减
				case 21152: return -1; // 加
				case 21542: return -1; // 否
				case 22823: return -1; // 大
				case 22905: return -1; // 她
				case 22914: return -1; // 如
				case 23427: return -1; // 它
				case 23567: return -1; // 小
				case 24490: return -1; // 循
				case 25110: return -1; // 或
				case 26159: return -1; // 是
				case 30340: return -1; // 的
				case 30452: return -1; // 直
				case 30495: return -1; // 真
				case 31561: return -1; // 等
				case 32467: return -1; // 结
				case 38500: return -1; // 除
				case 65281: return -1; // ！
				case 65283: return -1; // ＃
				case 65286: return -1; // ＆
				case 65288: return -1; // （
				case 65289: return -1; // ）
				case 65291: return -1; // ＋
				case 65292: return -1; // ，
				case 65293: return -1; // －
				case 65295: return -1; // ／
				case 65306: return -1; // ：
				case 65307: return -1; // ；
				case 65308: return -1; // ＜
				case 65309: return -1; // ＝
				case 65310: return -1; // ＞
				case 65311: return -1; // ？
				case 65312: return -1; // ＠
				case 65339: return -1; // ［
				case 65340: return -1; // ＼
				case 65341: return -1; // ］
				case 65371: return -1; // ｛
				case 65372: return -1; // ｜
				case 65373: return -1; // ｝
				case 65374: return -1; // ～
				case 65509: return -1; // ￥
				default: return 10;
				}
			break;
			case 11:
				switch(u){
				case -1: return -1; // \eof
				case 10: return -1; // \newline
				default: return 11;
				}
			break;
			case 12:
				switch(u){
				case 97: return 13; // a
				default: return -4;
				}
			break;
			case 13:
				switch(u){
				case 98: return 5; // b
				default: return -4;
				}
			break;
			case 14:
				switch(u){
				case 97: return 15; // a
				default: return -4;
				}
			break;
			case 15:
				switch(u){
				case 98: return 7; // b
				default: return -4;
				}
			break;
			case 16:
				switch(u){
				case 111: return 17; // o
				default: return -5;
				}
			break;
			case 17:
				switch(u){
				case 102: return 5; // f
				default: return -5;
				}
			break;
			case 18:
				switch(u){
				case 111: return 19; // o
				default: return -5;
				}
			break;
			case 19:
				switch(u){
				case 102: return 7; // f
				default: return -5;
				}
			break;
			case 20:
				switch(u){
				case 36710: return 5; // 车
				default: return -6;
				}
			break;
			case 21:
				switch(u){
				case 36710: return 7; // 车
				default: return -6;
				}
			break;
			case 22:
				switch(u){
				case 34920: return 5; // 表
				default: return -4;
				}
			break;
			case 23:
				switch(u){
				case 34920: return 7; // 表
				default: return -4;
				}
			break;
			case 24: return -1;
			case 25: return -1;
			case 26: return -1;
			case 27: return -1;
			case 28: return -1;
			case 29: return -1;
			case 30: return -1;
			case 31: return -1;
			case 32:
				switch(u){
				case 61: return 33; // =
				default: return -1;
				}
			break;
			case 33: return -1;
			case 34:
				switch(u){
				case 61: return 38; // =
				default: return -1;
				}
			break;
			case 35:
				switch(u){
				case 61: return 39; // =
				default: return -1;
				}
			break;
			case 36: return -1;
			case 37: return -1;
			case 38: return -1;
			case 39: return -1;
			case 40: return -1;
			case 41: return -1;
			case 42: return -1;
			case 43: return -1;
			case 44: return -1;
			case 45:
				switch(u){
				case 61: return 46; // =
				default: return -1;
				}
			break;
			case 46: return -1;
			case 47: return -1;
			case 48: return -1;
			case 49: return -1;
			case 50: return -1;
			case 51: return -1;
			case 52: return -1;
			case 53: return -1;
			case 54: return -1;
			case 55: return -1;
			case 56: return -1;
			case 57: return -1;
			case 58: return -1;
			case 59: return -1;
			case 60: return -1;
			case 61: return -1;
			case 62: return -1;
			case 63: return -1;
			case 64: return -1;
			case 65: return -1;
			case 66: return -1;
			case 67: return -1;
			case 68: return -1;
			case 69:
				switch(u){
				case -1: return -1; // \eof
				case 8: return -1; // \back
				case 9: return -1; // \tab
				case 10: return -1; // \newline
				case 13: return -1; // \return
				case 32: return -1; // \space
				case 33: return -1; // !
				case 34: return -1; // "
				case 35: return -1; // #
				case 36: return -1; // $
				case 37: return -1; // %
				case 38: return -1; // &
				case 39: return -1; // '
				case 40: return -1; // (
				case 41: return -1; // )
				case 42: return -1; // *
				case 43: return -1; // +
				case 44: return -1; // ,
				case 45: return -1; // -
				case 46: return -1; // .
				case 47: return -1; // /
				case 58: return -1; // :
				case 59: return -1; // ;
				case 60: return -1; // <
				case 61: return -1; // =
				case 62: return -1; // >
				case 63: return -1; // ?
				case 64: return -1; // @
				case 91: return -1; // [
				case 92: return -1; // '\'
				case 93: return -1; // ]
				case 94: return -1; // ^
				case 96: return -1; // `
				case 102: return -1; // f
				case 114: return 70; // r
				case 116: return -1; // t
				case 123: return -1; // {
				case 124: return -1; // |
				case 125: return -1; // }
				case 126: return -1; // ~
				case 165: return -1; // ¥
				case 171: return -1; // «
				case 177: return -1; // ±
				case 187: return -1; // »
				case 215: return -1; // ×
				case 247: return -1; // ÷
				case 8212: return -1; // —
				case 8216: return -1; // ‘
				case 8217: return -1; // ’
				case 8220: return -1; // “
				case 8221: return -1; // ”
				case 8230: return -1; // …
				case 8709: return -1; // ∅
				case 8719: return -1; // ∏
				case 8721: return -1; // ∑
				case 8756: return -1; // ∴
				case 8757: return -1; // ∵
				case 8758: return -1; // ∶
				case 8759: return -1; // ∷
				case 8776: return -1; // ≈
				case 8786: return -1; // ≒
				case 8800: return -1; // ≠
				case 8801: return -1; // ≡
				case 8804: return -1; // ≤
				case 8805: return -1; // ≥
				case 8806: return -1; // ≦
				case 8807: return -1; // ≧
				case 12289: return -1; // 、
				case 12290: return -1; // 。
				case 12298: return -1; // 《
				case 12299: return -1; // 》
				case 12304: return -1; // 【
				case 12305: return -1; // 】
				case 12310: return -1; // 〖
				case 12311: return -1; // 〗
				case 19981: return -1; // 不
				case 19988: return -1; // 且
				case 20026: return -1; // 为
				case 20056: return -1; // 乘
				case 20182: return -1; // 他
				case 20294: return -1; // 但
				case 20551: return -1; // 假
				case 20943: return -1; // 减
				case 21152: return -1; // 加
				case 21542: return -1; // 否
				case 22823: return -1; // 大
				case 22905: return -1; // 她
				case 22914: return -1; // 如
				case 23427: return -1; // 它
				case 23567: return -1; // 小
				case 24490: return -1; // 循
				case 25110: return -1; // 或
				case 26159: return -1; // 是
				case 30340: return -1; // 的
				case 30452: return -1; // 直
				case 30495: return -1; // 真
				case 31561: return -1; // 等
				case 32467: return -1; // 结
				case 38500: return -1; // 除
				case 65281: return -1; // ！
				case 65283: return -1; // ＃
				case 65286: return -1; // ＆
				case 65288: return -1; // （
				case 65289: return -1; // ）
				case 65291: return -1; // ＋
				case 65292: return -1; // ，
				case 65293: return -1; // －
				case 65295: return -1; // ／
				case 65306: return -1; // ：
				case 65307: return -1; // ；
				case 65308: return -1; // ＜
				case 65309: return -1; // ＝
				case 65310: return -1; // ＞
				case 65311: return -1; // ？
				case 65312: return -1; // ＠
				case 65339: return -1; // ［
				case 65340: return -1; // ＼
				case 65341: return -1; // ］
				case 65371: return -1; // ｛
				case 65372: return -1; // ｜
				case 65373: return -1; // ｝
				case 65374: return -1; // ～
				case 65509: return -1; // ￥
				default: return 10;
				}
			break;
			case 70:
				switch(u){
				case -1: return -1; // \eof
				case 8: return -1; // \back
				case 9: return -1; // \tab
				case 10: return -1; // \newline
				case 13: return -1; // \return
				case 32: return -1; // \space
				case 33: return -1; // !
				case 34: return -1; // "
				case 35: return -1; // #
				case 36: return -1; // $
				case 37: return -1; // %
				case 38: return -1; // &
				case 39: return -1; // '
				case 40: return -1; // (
				case 41: return -1; // )
				case 42: return -1; // *
				case 43: return -1; // +
				case 44: return -1; // ,
				case 45: return -1; // -
				case 46: return -1; // .
				case 47: return -1; // /
				case 58: return -1; // :
				case 59: return -1; // ;
				case 60: return -1; // <
				case 61: return -1; // =
				case 62: return -1; // >
				case 63: return -1; // ?
				case 64: return -1; // @
				case 91: return -1; // [
				case 92: return -1; // '\'
				case 93: return -1; // ]
				case 94: return -1; // ^
				case 96: return -1; // `
				case 102: return -1; // f
				case 116: return -1; // t
				case 117: return 71; // u
				case 123: return -1; // {
				case 124: return -1; // |
				case 125: return -1; // }
				case 126: return -1; // ~
				case 165: return -1; // ¥
				case 171: return -1; // «
				case 177: return -1; // ±
				case 187: return -1; // »
				case 215: return -1; // ×
				case 247: return -1; // ÷
				case 8212: return -1; // —
				case 8216: return -1; // ‘
				case 8217: return -1; // ’
				case 8220: return -1; // “
				case 8221: return -1; // ”
				case 8230: return -1; // …
				case 8709: return -1; // ∅
				case 8719: return -1; // ∏
				case 8721: return -1; // ∑
				case 8756: return -1; // ∴
				case 8757: return -1; // ∵
				case 8758: return -1; // ∶
				case 8759: return -1; // ∷
				case 8776: return -1; // ≈
				case 8786: return -1; // ≒
				case 8800: return -1; // ≠
				case 8801: return -1; // ≡
				case 8804: return -1; // ≤
				case 8805: return -1; // ≥
				case 8806: return -1; // ≦
				case 8807: return -1; // ≧
				case 12289: return -1; // 、
				case 12290: return -1; // 。
				case 12298: return -1; // 《
				case 12299: return -1; // 》
				case 12304: return -1; // 【
				case 12305: return -1; // 】
				case 12310: return -1; // 〖
				case 12311: return -1; // 〗
				case 19981: return -1; // 不
				case 19988: return -1; // 且
				case 20026: return -1; // 为
				case 20056: return -1; // 乘
				case 20182: return -1; // 他
				case 20294: return -1; // 但
				case 20551: return -1; // 假
				case 20943: return -1; // 减
				case 21152: return -1; // 加
				case 21542: return -1; // 否
				case 22823: return -1; // 大
				case 22905: return -1; // 她
				case 22914: return -1; // 如
				case 23427: return -1; // 它
				case 23567: return -1; // 小
				case 24490: return -1; // 循
				case 25110: return -1; // 或
				case 26159: return -1; // 是
				case 30340: return -1; // 的
				case 30452: return -1; // 直
				case 30495: return -1; // 真
				case 31561: return -1; // 等
				case 32467: return -1; // 结
				case 38500: return -1; // 除
				case 65281: return -1; // ！
				case 65283: return -1; // ＃
				case 65286: return -1; // ＆
				case 65288: return -1; // （
				case 65289: return -1; // ）
				case 65291: return -1; // ＋
				case 65292: return -1; // ，
				case 65293: return -1; // －
				case 65295: return -1; // ／
				case 65306: return -1; // ：
				case 65307: return -1; // ；
				case 65308: return -1; // ＜
				case 65309: return -1; // ＝
				case 65310: return -1; // ＞
				case 65311: return -1; // ？
				case 65312: return -1; // ＠
				case 65339: return -1; // ［
				case 65340: return -1; // ＼
				case 65341: return -1; // ］
				case 65371: return -1; // ｛
				case 65372: return -1; // ｜
				case 65373: return -1; // ｝
				case 65374: return -1; // ～
				case 65509: return -1; // ￥
				default: return 10;
				}
			break;
			case 71:
				switch(u){
				case -1: return -1; // \eof
				case 8: return -1; // \back
				case 9: return -1; // \tab
				case 10: return -1; // \newline
				case 13: return -1; // \return
				case 32: return -1; // \space
				case 33: return -1; // !
				case 34: return -1; // "
				case 35: return -1; // #
				case 36: return -1; // $
				case 37: return -1; // %
				case 38: return -1; // &
				case 39: return -1; // '
				case 40: return -1; // (
				case 41: return -1; // )
				case 42: return -1; // *
				case 43: return -1; // +
				case 44: return -1; // ,
				case 45: return -1; // -
				case 46: return -1; // .
				case 47: return -1; // /
				case 58: return -1; // :
				case 59: return -1; // ;
				case 60: return -1; // <
				case 61: return -1; // =
				case 62: return -1; // >
				case 63: return -1; // ?
				case 64: return -1; // @
				case 91: return -1; // [
				case 92: return -1; // '\'
				case 93: return -1; // ]
				case 94: return -1; // ^
				case 96: return -1; // `
				case 101: return 72; // e
				case 102: return -1; // f
				case 116: return -1; // t
				case 123: return -1; // {
				case 124: return -1; // |
				case 125: return -1; // }
				case 126: return -1; // ~
				case 165: return -1; // ¥
				case 171: return -1; // «
				case 177: return -1; // ±
				case 187: return -1; // »
				case 215: return -1; // ×
				case 247: return -1; // ÷
				case 8212: return -1; // —
				case 8216: return -1; // ‘
				case 8217: return -1; // ’
				case 8220: return -1; // “
				case 8221: return -1; // ”
				case 8230: return -1; // …
				case 8709: return -1; // ∅
				case 8719: return -1; // ∏
				case 8721: return -1; // ∑
				case 8756: return -1; // ∴
				case 8757: return -1; // ∵
				case 8758: return -1; // ∶
				case 8759: return -1; // ∷
				case 8776: return -1; // ≈
				case 8786: return -1; // ≒
				case 8800: return -1; // ≠
				case 8801: return -1; // ≡
				case 8804: return -1; // ≤
				case 8805: return -1; // ≥
				case 8806: return -1; // ≦
				case 8807: return -1; // ≧
				case 12289: return -1; // 、
				case 12290: return -1; // 。
				case 12298: return -1; // 《
				case 12299: return -1; // 》
				case 12304: return -1; // 【
				case 12305: return -1; // 】
				case 12310: return -1; // 〖
				case 12311: return -1; // 〗
				case 19981: return -1; // 不
				case 19988: return -1; // 且
				case 20026: return -1; // 为
				case 20056: return -1; // 乘
				case 20182: return -1; // 他
				case 20294: return -1; // 但
				case 20551: return -1; // 假
				case 20943: return -1; // 减
				case 21152: return -1; // 加
				case 21542: return -1; // 否
				case 22823: return -1; // 大
				case 22905: return -1; // 她
				case 22914: return -1; // 如
				case 23427: return -1; // 它
				case 23567: return -1; // 小
				case 24490: return -1; // 循
				case 25110: return -1; // 或
				case 26159: return -1; // 是
				case 30340: return -1; // 的
				case 30452: return -1; // 直
				case 30495: return -1; // 真
				case 31561: return -1; // 等
				case 32467: return -1; // 结
				case 38500: return -1; // 除
				case 65281: return -1; // ！
				case 65283: return -1; // ＃
				case 65286: return -1; // ＆
				case 65288: return -1; // （
				case 65289: return -1; // ）
				case 65291: return -1; // ＋
				case 65292: return -1; // ，
				case 65293: return -1; // －
				case 65295: return -1; // ／
				case 65306: return -1; // ：
				case 65307: return -1; // ；
				case 65308: return -1; // ＜
				case 65309: return -1; // ＝
				case 65310: return -1; // ＞
				case 65311: return -1; // ？
				case 65312: return -1; // ＠
				case 65339: return -1; // ［
				case 65340: return -1; // ＼
				case 65341: return -1; // ］
				case 65371: return -1; // ｛
				case 65372: return -1; // ｜
				case 65373: return -1; // ｝
				case 65374: return -1; // ～
				case 65509: return -1; // ￥
				default: return 10;
				}
			break;
			case 72: return -1;
			case 73:
				switch(u){
				case -1: return -1; // \eof
				case 8: return -1; // \back
				case 9: return -1; // \tab
				case 10: return -1; // \newline
				case 13: return -1; // \return
				case 32: return -1; // \space
				case 33: return -1; // !
				case 34: return -1; // "
				case 35: return -1; // #
				case 36: return -1; // $
				case 37: return -1; // %
				case 38: return -1; // &
				case 39: return -1; // '
				case 40: return -1; // (
				case 41: return -1; // )
				case 42: return -1; // *
				case 43: return -1; // +
				case 44: return -1; // ,
				case 45: return -1; // -
				case 46: return -1; // .
				case 47: return -1; // /
				case 58: return -1; // :
				case 59: return -1; // ;
				case 60: return -1; // <
				case 61: return -1; // =
				case 62: return -1; // >
				case 63: return -1; // ?
				case 64: return -1; // @
				case 91: return -1; // [
				case 92: return -1; // '\'
				case 93: return -1; // ]
				case 94: return -1; // ^
				case 96: return -1; // `
				case 97: return 74; // a
				case 102: return -1; // f
				case 116: return -1; // t
				case 123: return -1; // {
				case 124: return -1; // |
				case 125: return -1; // }
				case 126: return -1; // ~
				case 165: return -1; // ¥
				case 171: return -1; // «
				case 177: return -1; // ±
				case 187: return -1; // »
				case 215: return -1; // ×
				case 247: return -1; // ÷
				case 8212: return -1; // —
				case 8216: return -1; // ‘
				case 8217: return -1; // ’
				case 8220: return -1; // “
				case 8221: return -1; // ”
				case 8230: return -1; // …
				case 8709: return -1; // ∅
				case 8719: return -1; // ∏
				case 8721: return -1; // ∑
				case 8756: return -1; // ∴
				case 8757: return -1; // ∵
				case 8758: return -1; // ∶
				case 8759: return -1; // ∷
				case 8776: return -1; // ≈
				case 8786: return -1; // ≒
				case 8800: return -1; // ≠
				case 8801: return -1; // ≡
				case 8804: return -1; // ≤
				case 8805: return -1; // ≥
				case 8806: return -1; // ≦
				case 8807: return -1; // ≧
				case 12289: return -1; // 、
				case 12290: return -1; // 。
				case 12298: return -1; // 《
				case 12299: return -1; // 》
				case 12304: return -1; // 【
				case 12305: return -1; // 】
				case 12310: return -1; // 〖
				case 12311: return -1; // 〗
				case 19981: return -1; // 不
				case 19988: return -1; // 且
				case 20026: return -1; // 为
				case 20056: return -1; // 乘
				case 20182: return -1; // 他
				case 20294: return -1; // 但
				case 20551: return -1; // 假
				case 20943: return -1; // 减
				case 21152: return -1; // 加
				case 21542: return -1; // 否
				case 22823: return -1; // 大
				case 22905: return -1; // 她
				case 22914: return -1; // 如
				case 23427: return -1; // 它
				case 23567: return -1; // 小
				case 24490: return -1; // 循
				case 25110: return -1; // 或
				case 26159: return -1; // 是
				case 30340: return -1; // 的
				case 30452: return -1; // 直
				case 30495: return -1; // 真
				case 31561: return -1; // 等
				case 32467: return -1; // 结
				case 38500: return -1; // 除
				case 65281: return -1; // ！
				case 65283: return -1; // ＃
				case 65286: return -1; // ＆
				case 65288: return -1; // （
				case 65289: return -1; // ）
				case 65291: return -1; // ＋
				case 65292: return -1; // ，
				case 65293: return -1; // －
				case 65295: return -1; // ／
				case 65306: return -1; // ：
				case 65307: return -1; // ；
				case 65308: return -1; // ＜
				case 65309: return -1; // ＝
				case 65310: return -1; // ＞
				case 65311: return -1; // ？
				case 65312: return -1; // ＠
				case 65339: return -1; // ［
				case 65340: return -1; // ＼
				case 65341: return -1; // ］
				case 65371: return -1; // ｛
				case 65372: return -1; // ｜
				case 65373: return -1; // ｝
				case 65374: return -1; // ～
				case 65509: return -1; // ￥
				default: return 10;
				}
			break;
			case 74:
				switch(u){
				case -1: return -1; // \eof
				case 8: return -1; // \back
				case 9: return -1; // \tab
				case 10: return -1; // \newline
				case 13: return -1; // \return
				case 32: return -1; // \space
				case 33: return -1; // !
				case 34: return -1; // "
				case 35: return -1; // #
				case 36: return -1; // $
				case 37: return -1; // %
				case 38: return -1; // &
				case 39: return -1; // '
				case 40: return -1; // (
				case 41: return -1; // )
				case 42: return -1; // *
				case 43: return -1; // +
				case 44: return -1; // ,
				case 45: return -1; // -
				case 46: return -1; // .
				case 47: return -1; // /
				case 58: return -1; // :
				case 59: return -1; // ;
				case 60: return -1; // <
				case 61: return -1; // =
				case 62: return -1; // >
				case 63: return -1; // ?
				case 64: return -1; // @
				case 91: return -1; // [
				case 92: return -1; // '\'
				case 93: return -1; // ]
				case 94: return -1; // ^
				case 96: return -1; // `
				case 102: return -1; // f
				case 108: return 75; // l
				case 116: return -1; // t
				case 123: return -1; // {
				case 124: return -1; // |
				case 125: return -1; // }
				case 126: return -1; // ~
				case 165: return -1; // ¥
				case 171: return -1; // «
				case 177: return -1; // ±
				case 187: return -1; // »
				case 215: return -1; // ×
				case 247: return -1; // ÷
				case 8212: return -1; // —
				case 8216: return -1; // ‘
				case 8217: return -1; // ’
				case 8220: return -1; // “
				case 8221: return -1; // ”
				case 8230: return -1; // …
				case 8709: return -1; // ∅
				case 8719: return -1; // ∏
				case 8721: return -1; // ∑
				case 8756: return -1; // ∴
				case 8757: return -1; // ∵
				case 8758: return -1; // ∶
				case 8759: return -1; // ∷
				case 8776: return -1; // ≈
				case 8786: return -1; // ≒
				case 8800: return -1; // ≠
				case 8801: return -1; // ≡
				case 8804: return -1; // ≤
				case 8805: return -1; // ≥
				case 8806: return -1; // ≦
				case 8807: return -1; // ≧
				case 12289: return -1; // 、
				case 12290: return -1; // 。
				case 12298: return -1; // 《
				case 12299: return -1; // 》
				case 12304: return -1; // 【
				case 12305: return -1; // 】
				case 12310: return -1; // 〖
				case 12311: return -1; // 〗
				case 19981: return -1; // 不
				case 19988: return -1; // 且
				case 20026: return -1; // 为
				case 20056: return -1; // 乘
				case 20182: return -1; // 他
				case 20294: return -1; // 但
				case 20551: return -1; // 假
				case 20943: return -1; // 减
				case 21152: return -1; // 加
				case 21542: return -1; // 否
				case 22823: return -1; // 大
				case 22905: return -1; // 她
				case 22914: return -1; // 如
				case 23427: return -1; // 它
				case 23567: return -1; // 小
				case 24490: return -1; // 循
				case 25110: return -1; // 或
				case 26159: return -1; // 是
				case 30340: return -1; // 的
				case 30452: return -1; // 直
				case 30495: return -1; // 真
				case 31561: return -1; // 等
				case 32467: return -1; // 结
				case 38500: return -1; // 除
				case 65281: return -1; // ！
				case 65283: return -1; // ＃
				case 65286: return -1; // ＆
				case 65288: return -1; // （
				case 65289: return -1; // ）
				case 65291: return -1; // ＋
				case 65292: return -1; // ，
				case 65293: return -1; // －
				case 65295: return -1; // ／
				case 65306: return -1; // ：
				case 65307: return -1; // ；
				case 65308: return -1; // ＜
				case 65309: return -1; // ＝
				case 65310: return -1; // ＞
				case 65311: return -1; // ？
				case 65312: return -1; // ＠
				case 65339: return -1; // ［
				case 65340: return -1; // ＼
				case 65341: return -1; // ］
				case 65371: return -1; // ｛
				case 65372: return -1; // ｜
				case 65373: return -1; // ｝
				case 65374: return -1; // ～
				case 65509: return -1; // ￥
				default: return 10;
				}
			break;
			case 75:
				switch(u){
				case -1: return -1; // \eof
				case 8: return -1; // \back
				case 9: return -1; // \tab
				case 10: return -1; // \newline
				case 13: return -1; // \return
				case 32: return -1; // \space
				case 33: return -1; // !
				case 34: return -1; // "
				case 35: return -1; // #
				case 36: return -1; // $
				case 37: return -1; // %
				case 38: return -1; // &
				case 39: return -1; // '
				case 40: return -1; // (
				case 41: return -1; // )
				case 42: return -1; // *
				case 43: return -1; // +
				case 44: return -1; // ,
				case 45: return -1; // -
				case 46: return -1; // .
				case 47: return -1; // /
				case 58: return -1; // :
				case 59: return -1; // ;
				case 60: return -1; // <
				case 61: return -1; // =
				case 62: return -1; // >
				case 63: return -1; // ?
				case 64: return -1; // @
				case 91: return -1; // [
				case 92: return -1; // '\'
				case 93: return -1; // ]
				case 94: return -1; // ^
				case 96: return -1; // `
				case 102: return -1; // f
				case 115: return 76; // s
				case 116: return -1; // t
				case 123: return -1; // {
				case 124: return -1; // |
				case 125: return -1; // }
				case 126: return -1; // ~
				case 165: return -1; // ¥
				case 171: return -1; // «
				case 177: return -1; // ±
				case 187: return -1; // »
				case 215: return -1; // ×
				case 247: return -1; // ÷
				case 8212: return -1; // —
				case 8216: return -1; // ‘
				case 8217: return -1; // ’
				case 8220: return -1; // “
				case 8221: return -1; // ”
				case 8230: return -1; // …
				case 8709: return -1; // ∅
				case 8719: return -1; // ∏
				case 8721: return -1; // ∑
				case 8756: return -1; // ∴
				case 8757: return -1; // ∵
				case 8758: return -1; // ∶
				case 8759: return -1; // ∷
				case 8776: return -1; // ≈
				case 8786: return -1; // ≒
				case 8800: return -1; // ≠
				case 8801: return -1; // ≡
				case 8804: return -1; // ≤
				case 8805: return -1; // ≥
				case 8806: return -1; // ≦
				case 8807: return -1; // ≧
				case 12289: return -1; // 、
				case 12290: return -1; // 。
				case 12298: return -1; // 《
				case 12299: return -1; // 》
				case 12304: return -1; // 【
				case 12305: return -1; // 】
				case 12310: return -1; // 〖
				case 12311: return -1; // 〗
				case 19981: return -1; // 不
				case 19988: return -1; // 且
				case 20026: return -1; // 为
				case 20056: return -1; // 乘
				case 20182: return -1; // 他
				case 20294: return -1; // 但
				case 20551: return -1; // 假
				case 20943: return -1; // 减
				case 21152: return -1; // 加
				case 21542: return -1; // 否
				case 22823: return -1; // 大
				case 22905: return -1; // 她
				case 22914: return -1; // 如
				case 23427: return -1; // 它
				case 23567: return -1; // 小
				case 24490: return -1; // 循
				case 25110: return -1; // 或
				case 26159: return -1; // 是
				case 30340: return -1; // 的
				case 30452: return -1; // 直
				case 30495: return -1; // 真
				case 31561: return -1; // 等
				case 32467: return -1; // 结
				case 38500: return -1; // 除
				case 65281: return -1; // ！
				case 65283: return -1; // ＃
				case 65286: return -1; // ＆
				case 65288: return -1; // （
				case 65289: return -1; // ）
				case 65291: return -1; // ＋
				case 65292: return -1; // ，
				case 65293: return -1; // －
				case 65295: return -1; // ／
				case 65306: return -1; // ：
				case 65307: return -1; // ；
				case 65308: return -1; // ＜
				case 65309: return -1; // ＝
				case 65310: return -1; // ＞
				case 65311: return -1; // ？
				case 65312: return -1; // ＠
				case 65339: return -1; // ［
				case 65340: return -1; // ＼
				case 65341: return -1; // ］
				case 65371: return -1; // ｛
				case 65372: return -1; // ｜
				case 65373: return -1; // ｝
				case 65374: return -1; // ～
				case 65509: return -1; // ￥
				default: return 10;
				}
			break;
			case 76:
				switch(u){
				case -1: return -1; // \eof
				case 8: return -1; // \back
				case 9: return -1; // \tab
				case 10: return -1; // \newline
				case 13: return -1; // \return
				case 32: return -1; // \space
				case 33: return -1; // !
				case 34: return -1; // "
				case 35: return -1; // #
				case 36: return -1; // $
				case 37: return -1; // %
				case 38: return -1; // &
				case 39: return -1; // '
				case 40: return -1; // (
				case 41: return -1; // )
				case 42: return -1; // *
				case 43: return -1; // +
				case 44: return -1; // ,
				case 45: return -1; // -
				case 46: return -1; // .
				case 47: return -1; // /
				case 58: return -1; // :
				case 59: return -1; // ;
				case 60: return -1; // <
				case 61: return -1; // =
				case 62: return -1; // >
				case 63: return -1; // ?
				case 64: return -1; // @
				case 91: return -1; // [
				case 92: return -1; // '\'
				case 93: return -1; // ]
				case 94: return -1; // ^
				case 96: return -1; // `
				case 101: return 77; // e
				case 102: return -1; // f
				case 116: return -1; // t
				case 123: return -1; // {
				case 124: return -1; // |
				case 125: return -1; // }
				case 126: return -1; // ~
				case 165: return -1; // ¥
				case 171: return -1; // «
				case 177: return -1; // ±
				case 187: return -1; // »
				case 215: return -1; // ×
				case 247: return -1; // ÷
				case 8212: return -1; // —
				case 8216: return -1; // ‘
				case 8217: return -1; // ’
				case 8220: return -1; // “
				case 8221: return -1; // ”
				case 8230: return -1; // …
				case 8709: return -1; // ∅
				case 8719: return -1; // ∏
				case 8721: return -1; // ∑
				case 8756: return -1; // ∴
				case 8757: return -1; // ∵
				case 8758: return -1; // ∶
				case 8759: return -1; // ∷
				case 8776: return -1; // ≈
				case 8786: return -1; // ≒
				case 8800: return -1; // ≠
				case 8801: return -1; // ≡
				case 8804: return -1; // ≤
				case 8805: return -1; // ≥
				case 8806: return -1; // ≦
				case 8807: return -1; // ≧
				case 12289: return -1; // 、
				case 12290: return -1; // 。
				case 12298: return -1; // 《
				case 12299: return -1; // 》
				case 12304: return -1; // 【
				case 12305: return -1; // 】
				case 12310: return -1; // 〖
				case 12311: return -1; // 〗
				case 19981: return -1; // 不
				case 19988: return -1; // 且
				case 20026: return -1; // 为
				case 20056: return -1; // 乘
				case 20182: return -1; // 他
				case 20294: return -1; // 但
				case 20551: return -1; // 假
				case 20943: return -1; // 减
				case 21152: return -1; // 加
				case 21542: return -1; // 否
				case 22823: return -1; // 大
				case 22905: return -1; // 她
				case 22914: return -1; // 如
				case 23427: return -1; // 它
				case 23567: return -1; // 小
				case 24490: return -1; // 循
				case 25110: return -1; // 或
				case 26159: return -1; // 是
				case 30340: return -1; // 的
				case 30452: return -1; // 直
				case 30495: return -1; // 真
				case 31561: return -1; // 等
				case 32467: return -1; // 结
				case 38500: return -1; // 除
				case 65281: return -1; // ！
				case 65283: return -1; // ＃
				case 65286: return -1; // ＆
				case 65288: return -1; // （
				case 65289: return -1; // ）
				case 65291: return -1; // ＋
				case 65292: return -1; // ，
				case 65293: return -1; // －
				case 65295: return -1; // ／
				case 65306: return -1; // ：
				case 65307: return -1; // ；
				case 65308: return -1; // ＜
				case 65309: return -1; // ＝
				case 65310: return -1; // ＞
				case 65311: return -1; // ？
				case 65312: return -1; // ＠
				case 65339: return -1; // ［
				case 65340: return -1; // ＼
				case 65341: return -1; // ］
				case 65371: return -1; // ｛
				case 65372: return -1; // ｜
				case 65373: return -1; // ｝
				case 65374: return -1; // ～
				case 65509: return -1; // ￥
				default: return 10;
				}
			break;
			case 77: return -1;
			case 78: return -1;
			case 79:
				switch(u){
				case 21542: return 81; // 否
				default: return -1;
				}
			break;
			case 80:
				switch(u){
				case 21017: return 138; // 则
				default: return -1;
				}
			break;
			case 81:
				switch(u){
				case -1: return -1; // \eof
				case 8: return -1; // \back
				case 9: return -1; // \tab
				case 10: return -1; // \newline
				case 13: return -1; // \return
				case 32: return -1; // \space
				case 33: return -1; // !
				case 34: return -1; // "
				case 35: return -1; // #
				case 36: return -1; // $
				case 37: return -1; // %
				case 38: return -1; // &
				case 39: return -1; // '
				case 40: return -1; // (
				case 41: return -1; // )
				case 42: return -1; // *
				case 43: return -1; // +
				case 44: return -1; // ,
				case 45: return -1; // -
				case 46: return -1; // .
				case 47: return -1; // /
				case 58: return -1; // :
				case 59: return -1; // ;
				case 60: return -1; // <
				case 61: return -1; // =
				case 62: return -1; // >
				case 63: return -1; // ?
				case 64: return -1; // @
				case 91: return -1; // [
				case 92: return -1; // '\'
				case 93: return -1; // ]
				case 94: return -1; // ^
				case 96: return -1; // `
				case 102: return -1; // f
				case 116: return -1; // t
				case 123: return -1; // {
				case 124: return -1; // |
				case 125: return -1; // }
				case 126: return -1; // ~
				case 165: return -1; // ¥
				case 171: return -1; // «
				case 177: return -1; // ±
				case 187: return -1; // »
				case 215: return -1; // ×
				case 247: return -1; // ÷
				case 8212: return -1; // —
				case 8216: return -1; // ‘
				case 8217: return -1; // ’
				case 8220: return -1; // “
				case 8221: return -1; // ”
				case 8230: return -1; // …
				case 8709: return -1; // ∅
				case 8719: return -1; // ∏
				case 8721: return -1; // ∑
				case 8756: return -1; // ∴
				case 8757: return -1; // ∵
				case 8758: return -1; // ∶
				case 8759: return -1; // ∷
				case 8776: return -1; // ≈
				case 8786: return -1; // ≒
				case 8800: return -1; // ≠
				case 8801: return -1; // ≡
				case 8804: return -1; // ≤
				case 8805: return -1; // ≥
				case 8806: return -1; // ≦
				case 8807: return -1; // ≧
				case 12289: return -1; // 、
				case 12290: return -1; // 。
				case 12298: return -1; // 《
				case 12299: return -1; // 》
				case 12304: return -1; // 【
				case 12305: return -1; // 】
				case 12310: return -1; // 〖
				case 12311: return -1; // 〗
				case 19981: return 84; // 不
				case 19988: return -1; // 且
				case 20026: return -1; // 为
				case 20056: return -1; // 乘
				case 20182: return -1; // 他
				case 20294: return -1; // 但
				case 20551: return -1; // 假
				case 20943: return -1; // 减
				case 21152: return -1; // 加
				case 21542: return -1; // 否
				case 22823: return 89; // 大
				case 22905: return -1; // 她
				case 22914: return -1; // 如
				case 23427: return -1; // 它
				case 23567: return 87; // 小
				case 24490: return -1; // 循
				case 25110: return -1; // 或
				case 26159: return -1; // 是
				case 30340: return -1; // 的
				case 30452: return -1; // 直
				case 30495: return -1; // 真
				case 31561: return 82; // 等
				case 32467: return -1; // 结
				case 38500: return -1; // 除
				case 65281: return -1; // ！
				case 65283: return -1; // ＃
				case 65286: return -1; // ＆
				case 65288: return -1; // （
				case 65289: return -1; // ）
				case 65291: return -1; // ＋
				case 65292: return -1; // ，
				case 65293: return -1; // －
				case 65295: return -1; // ／
				case 65306: return -1; // ：
				case 65307: return -1; // ；
				case 65308: return -1; // ＜
				case 65309: return -1; // ＝
				case 65310: return -1; // ＞
				case 65311: return -1; // ？
				case 65312: return -1; // ＠
				case 65339: return -1; // ［
				case 65340: return -1; // ＼
				case 65341: return -1; // ］
				case 65371: return -1; // ｛
				case 65372: return -1; // ｜
				case 65373: return -1; // ｝
				case 65374: return -1; // ～
				case 65509: return -1; // ￥
				default: return 10;
				}
			break;
			case 82:
				switch(u){
				case -1: return -1; // \eof
				case 8: return -1; // \back
				case 9: return -1; // \tab
				case 10: return -1; // \newline
				case 13: return -1; // \return
				case 32: return -1; // \space
				case 33: return -1; // !
				case 34: return -1; // "
				case 35: return -1; // #
				case 36: return -1; // $
				case 37: return -1; // %
				case 38: return -1; // &
				case 39: return -1; // '
				case 40: return -1; // (
				case 41: return -1; // )
				case 42: return -1; // *
				case 43: return -1; // +
				case 44: return -1; // ,
				case 45: return -1; // -
				case 46: return -1; // .
				case 47: return -1; // /
				case 58: return -1; // :
				case 59: return -1; // ;
				case 60: return -1; // <
				case 61: return -1; // =
				case 62: return -1; // >
				case 63: return -1; // ?
				case 64: return -1; // @
				case 91: return -1; // [
				case 92: return -1; // '\'
				case 93: return -1; // ]
				case 94: return -1; // ^
				case 96: return -1; // `
				case 102: return -1; // f
				case 116: return -1; // t
				case 123: return -1; // {
				case 124: return -1; // |
				case 125: return -1; // }
				case 126: return -1; // ~
				case 165: return -1; // ¥
				case 171: return -1; // «
				case 177: return -1; // ±
				case 187: return -1; // »
				case 215: return -1; // ×
				case 247: return -1; // ÷
				case 8212: return -1; // —
				case 8216: return -1; // ‘
				case 8217: return -1; // ’
				case 8220: return -1; // “
				case 8221: return -1; // ”
				case 8230: return -1; // …
				case 8709: return -1; // ∅
				case 8719: return -1; // ∏
				case 8721: return -1; // ∑
				case 8756: return -1; // ∴
				case 8757: return -1; // ∵
				case 8758: return -1; // ∶
				case 8759: return -1; // ∷
				case 8776: return -1; // ≈
				case 8786: return -1; // ≒
				case 8800: return -1; // ≠
				case 8801: return -1; // ≡
				case 8804: return -1; // ≤
				case 8805: return -1; // ≥
				case 8806: return -1; // ≦
				case 8807: return -1; // ≧
				case 12289: return -1; // 、
				case 12290: return -1; // 。
				case 12298: return -1; // 《
				case 12299: return -1; // 》
				case 12304: return -1; // 【
				case 12305: return -1; // 】
				case 12310: return -1; // 〖
				case 12311: return -1; // 〗
				case 19981: return -1; // 不
				case 19988: return -1; // 且
				case 20026: return -1; // 为
				case 20056: return -1; // 乘
				case 20110: return 83; // 于
				case 20182: return -1; // 他
				case 20294: return -1; // 但
				case 20551: return -1; // 假
				case 20943: return -1; // 减
				case 21152: return -1; // 加
				case 21542: return -1; // 否
				case 22823: return -1; // 大
				case 22905: return -1; // 她
				case 22914: return -1; // 如
				case 23427: return -1; // 它
				case 23567: return -1; // 小
				case 24490: return -1; // 循
				case 25110: return -1; // 或
				case 26159: return -1; // 是
				case 30340: return -1; // 的
				case 30452: return -1; // 直
				case 30495: return -1; // 真
				case 31561: return -1; // 等
				case 32467: return -1; // 结
				case 38500: return -1; // 除
				case 65281: return -1; // ！
				case 65283: return -1; // ＃
				case 65286: return -1; // ＆
				case 65288: return -1; // （
				case 65289: return -1; // ）
				case 65291: return -1; // ＋
				case 65292: return -1; // ，
				case 65293: return -1; // －
				case 65295: return -1; // ／
				case 65306: return -1; // ：
				case 65307: return -1; // ；
				case 65308: return -1; // ＜
				case 65309: return -1; // ＝
				case 65310: return -1; // ＞
				case 65311: return -1; // ？
				case 65312: return -1; // ＠
				case 65339: return -1; // ［
				case 65340: return -1; // ＼
				case 65341: return -1; // ］
				case 65371: return -1; // ｛
				case 65372: return -1; // ｜
				case 65373: return -1; // ｝
				case 65374: return -1; // ～
				case 65509: return -1; // ￥
				default: return 10;
				}
			break;
			case 83: return -1;
			case 84:
				switch(u){
				case -1: return -1; // \eof
				case 8: return -1; // \back
				case 9: return -1; // \tab
				case 10: return -1; // \newline
				case 13: return -1; // \return
				case 32: return -1; // \space
				case 33: return -1; // !
				case 34: return -1; // "
				case 35: return -1; // #
				case 36: return -1; // $
				case 37: return -1; // %
				case 38: return -1; // &
				case 39: return -1; // '
				case 40: return -1; // (
				case 41: return -1; // )
				case 42: return -1; // *
				case 43: return -1; // +
				case 44: return -1; // ,
				case 45: return -1; // -
				case 46: return -1; // .
				case 47: return -1; // /
				case 58: return -1; // :
				case 59: return -1; // ;
				case 60: return -1; // <
				case 61: return -1; // =
				case 62: return -1; // >
				case 63: return -1; // ?
				case 64: return -1; // @
				case 91: return -1; // [
				case 92: return -1; // '\'
				case 93: return -1; // ]
				case 94: return -1; // ^
				case 96: return -1; // `
				case 102: return -1; // f
				case 116: return -1; // t
				case 123: return -1; // {
				case 124: return -1; // |
				case 125: return -1; // }
				case 126: return -1; // ~
				case 165: return -1; // ¥
				case 171: return -1; // «
				case 177: return -1; // ±
				case 187: return -1; // »
				case 215: return -1; // ×
				case 247: return -1; // ÷
				case 8212: return -1; // —
				case 8216: return -1; // ‘
				case 8217: return -1; // ’
				case 8220: return -1; // “
				case 8221: return -1; // ”
				case 8230: return -1; // …
				case 8709: return -1; // ∅
				case 8719: return -1; // ∏
				case 8721: return -1; // ∑
				case 8756: return -1; // ∴
				case 8757: return -1; // ∵
				case 8758: return -1; // ∶
				case 8759: return -1; // ∷
				case 8776: return -1; // ≈
				case 8786: return -1; // ≒
				case 8800: return -1; // ≠
				case 8801: return -1; // ≡
				case 8804: return -1; // ≤
				case 8805: return -1; // ≥
				case 8806: return -1; // ≦
				case 8807: return -1; // ≧
				case 12289: return -1; // 、
				case 12290: return -1; // 。
				case 12298: return -1; // 《
				case 12299: return -1; // 》
				case 12304: return -1; // 【
				case 12305: return -1; // 】
				case 12310: return -1; // 〖
				case 12311: return -1; // 〗
				case 19981: return -1; // 不
				case 19988: return -1; // 且
				case 20026: return -1; // 为
				case 20056: return -1; // 乘
				case 20182: return -1; // 他
				case 20294: return -1; // 但
				case 20551: return -1; // 假
				case 20943: return -1; // 减
				case 21152: return -1; // 加
				case 21542: return -1; // 否
				case 22823: return 97; // 大
				case 22905: return -1; // 她
				case 22914: return -1; // 如
				case 23427: return -1; // 它
				case 23567: return 95; // 小
				case 24490: return -1; // 循
				case 25110: return -1; // 或
				case 26159: return -1; // 是
				case 30340: return -1; // 的
				case 30452: return -1; // 直
				case 30495: return -1; // 真
				case 31561: return 85; // 等
				case 32467: return -1; // 结
				case 38500: return -1; // 除
				case 65281: return -1; // ！
				case 65283: return -1; // ＃
				case 65286: return -1; // ＆
				case 65288: return -1; // （
				case 65289: return -1; // ）
				case 65291: return -1; // ＋
				case 65292: return -1; // ，
				case 65293: return -1; // －
				case 65295: return -1; // ／
				case 65306: return -1; // ：
				case 65307: return -1; // ；
				case 65308: return -1; // ＜
				case 65309: return -1; // ＝
				case 65310: return -1; // ＞
				case 65311: return -1; // ？
				case 65312: return -1; // ＠
				case 65339: return -1; // ［
				case 65340: return -1; // ＼
				case 65341: return -1; // ］
				case 65371: return -1; // ｛
				case 65372: return -1; // ｜
				case 65373: return -1; // ｝
				case 65374: return -1; // ～
				case 65509: return -1; // ￥
				default: return 10;
				}
			break;
			case 85:
				switch(u){
				case -1: return -1; // \eof
				case 8: return -1; // \back
				case 9: return -1; // \tab
				case 10: return -1; // \newline
				case 13: return -1; // \return
				case 32: return -1; // \space
				case 33: return -1; // !
				case 34: return -1; // "
				case 35: return -1; // #
				case 36: return -1; // $
				case 37: return -1; // %
				case 38: return -1; // &
				case 39: return -1; // '
				case 40: return -1; // (
				case 41: return -1; // )
				case 42: return -1; // *
				case 43: return -1; // +
				case 44: return -1; // ,
				case 45: return -1; // -
				case 46: return -1; // .
				case 47: return -1; // /
				case 58: return -1; // :
				case 59: return -1; // ;
				case 60: return -1; // <
				case 61: return -1; // =
				case 62: return -1; // >
				case 63: return -1; // ?
				case 64: return -1; // @
				case 91: return -1; // [
				case 92: return -1; // '\'
				case 93: return -1; // ]
				case 94: return -1; // ^
				case 96: return -1; // `
				case 102: return -1; // f
				case 116: return -1; // t
				case 123: return -1; // {
				case 124: return -1; // |
				case 125: return -1; // }
				case 126: return -1; // ~
				case 165: return -1; // ¥
				case 171: return -1; // «
				case 177: return -1; // ±
				case 187: return -1; // »
				case 215: return -1; // ×
				case 247: return -1; // ÷
				case 8212: return -1; // —
				case 8216: return -1; // ‘
				case 8217: return -1; // ’
				case 8220: return -1; // “
				case 8221: return -1; // ”
				case 8230: return -1; // …
				case 8709: return -1; // ∅
				case 8719: return -1; // ∏
				case 8721: return -1; // ∑
				case 8756: return -1; // ∴
				case 8757: return -1; // ∵
				case 8758: return -1; // ∶
				case 8759: return -1; // ∷
				case 8776: return -1; // ≈
				case 8786: return -1; // ≒
				case 8800: return -1; // ≠
				case 8801: return -1; // ≡
				case 8804: return -1; // ≤
				case 8805: return -1; // ≥
				case 8806: return -1; // ≦
				case 8807: return -1; // ≧
				case 12289: return -1; // 、
				case 12290: return -1; // 。
				case 12298: return -1; // 《
				case 12299: return -1; // 》
				case 12304: return -1; // 【
				case 12305: return -1; // 】
				case 12310: return -1; // 〖
				case 12311: return -1; // 〗
				case 19981: return -1; // 不
				case 19988: return -1; // 且
				case 20026: return -1; // 为
				case 20056: return -1; // 乘
				case 20110: return 86; // 于
				case 20182: return -1; // 他
				case 20294: return -1; // 但
				case 20551: return -1; // 假
				case 20943: return -1; // 减
				case 21152: return -1; // 加
				case 21542: return -1; // 否
				case 22823: return -1; // 大
				case 22905: return -1; // 她
				case 22914: return -1; // 如
				case 23427: return -1; // 它
				case 23567: return -1; // 小
				case 24490: return -1; // 循
				case 25110: return -1; // 或
				case 26159: return -1; // 是
				case 30340: return -1; // 的
				case 30452: return -1; // 直
				case 30495: return -1; // 真
				case 31561: return -1; // 等
				case 32467: return -1; // 结
				case 38500: return -1; // 除
				case 65281: return -1; // ！
				case 65283: return -1; // ＃
				case 65286: return -1; // ＆
				case 65288: return -1; // （
				case 65289: return -1; // ）
				case 65291: return -1; // ＋
				case 65292: return -1; // ，
				case 65293: return -1; // －
				case 65295: return -1; // ／
				case 65306: return -1; // ：
				case 65307: return -1; // ；
				case 65308: return -1; // ＜
				case 65309: return -1; // ＝
				case 65310: return -1; // ＞
				case 65311: return -1; // ？
				case 65312: return -1; // ＠
				case 65339: return -1; // ［
				case 65340: return -1; // ＼
				case 65341: return -1; // ］
				case 65371: return -1; // ｛
				case 65372: return -1; // ｜
				case 65373: return -1; // ｝
				case 65374: return -1; // ～
				case 65509: return -1; // ￥
				default: return 10;
				}
			break;
			case 86: return -1;
			case 87:
				switch(u){
				case -1: return -1; // \eof
				case 8: return -1; // \back
				case 9: return -1; // \tab
				case 10: return -1; // \newline
				case 13: return -1; // \return
				case 32: return -1; // \space
				case 33: return -1; // !
				case 34: return -1; // "
				case 35: return -1; // #
				case 36: return -1; // $
				case 37: return -1; // %
				case 38: return -1; // &
				case 39: return -1; // '
				case 40: return -1; // (
				case 41: return -1; // )
				case 42: return -1; // *
				case 43: return -1; // +
				case 44: return -1; // ,
				case 45: return -1; // -
				case 46: return -1; // .
				case 47: return -1; // /
				case 58: return -1; // :
				case 59: return -1; // ;
				case 60: return -1; // <
				case 61: return -1; // =
				case 62: return -1; // >
				case 63: return -1; // ?
				case 64: return -1; // @
				case 91: return -1; // [
				case 92: return -1; // '\'
				case 93: return -1; // ]
				case 94: return -1; // ^
				case 96: return -1; // `
				case 102: return -1; // f
				case 116: return -1; // t
				case 123: return -1; // {
				case 124: return -1; // |
				case 125: return -1; // }
				case 126: return -1; // ~
				case 165: return -1; // ¥
				case 171: return -1; // «
				case 177: return -1; // ±
				case 187: return -1; // »
				case 215: return -1; // ×
				case 247: return -1; // ÷
				case 8212: return -1; // —
				case 8216: return -1; // ‘
				case 8217: return -1; // ’
				case 8220: return -1; // “
				case 8221: return -1; // ”
				case 8230: return -1; // …
				case 8709: return -1; // ∅
				case 8719: return -1; // ∏
				case 8721: return -1; // ∑
				case 8756: return -1; // ∴
				case 8757: return -1; // ∵
				case 8758: return -1; // ∶
				case 8759: return -1; // ∷
				case 8776: return -1; // ≈
				case 8786: return -1; // ≒
				case 8800: return -1; // ≠
				case 8801: return -1; // ≡
				case 8804: return -1; // ≤
				case 8805: return -1; // ≥
				case 8806: return -1; // ≦
				case 8807: return -1; // ≧
				case 12289: return -1; // 、
				case 12290: return -1; // 。
				case 12298: return -1; // 《
				case 12299: return -1; // 》
				case 12304: return -1; // 【
				case 12305: return -1; // 】
				case 12310: return -1; // 〖
				case 12311: return -1; // 〗
				case 19981: return -1; // 不
				case 19988: return -1; // 且
				case 20026: return -1; // 为
				case 20056: return -1; // 乘
				case 20110: return 88; // 于
				case 20182: return -1; // 他
				case 20294: return -1; // 但
				case 20551: return -1; // 假
				case 20943: return -1; // 减
				case 21152: return -1; // 加
				case 21542: return -1; // 否
				case 22823: return -1; // 大
				case 22905: return -1; // 她
				case 22914: return -1; // 如
				case 23427: return -1; // 它
				case 23567: return -1; // 小
				case 24490: return -1; // 循
				case 25110: return -1; // 或
				case 26159: return -1; // 是
				case 30340: return -1; // 的
				case 30452: return -1; // 直
				case 30495: return -1; // 真
				case 31561: return -1; // 等
				case 32467: return -1; // 结
				case 38500: return -1; // 除
				case 65281: return -1; // ！
				case 65283: return -1; // ＃
				case 65286: return -1; // ＆
				case 65288: return -1; // （
				case 65289: return -1; // ）
				case 65291: return -1; // ＋
				case 65292: return -1; // ，
				case 65293: return -1; // －
				case 65295: return -1; // ／
				case 65306: return -1; // ：
				case 65307: return -1; // ；
				case 65308: return -1; // ＜
				case 65309: return -1; // ＝
				case 65310: return -1; // ＞
				case 65311: return -1; // ？
				case 65312: return -1; // ＠
				case 65339: return -1; // ［
				case 65340: return -1; // ＼
				case 65341: return -1; // ］
				case 65371: return -1; // ｛
				case 65372: return -1; // ｜
				case 65373: return -1; // ｝
				case 65374: return -1; // ～
				case 65509: return -1; // ￥
				default: return 10;
				}
			break;
			case 88:
				switch(u){
				case 31561: return 91; // 等
				default: return -1;
				}
			break;
			case 89:
				switch(u){
				case -1: return -1; // \eof
				case 8: return -1; // \back
				case 9: return -1; // \tab
				case 10: return -1; // \newline
				case 13: return -1; // \return
				case 32: return -1; // \space
				case 33: return -1; // !
				case 34: return -1; // "
				case 35: return -1; // #
				case 36: return -1; // $
				case 37: return -1; // %
				case 38: return -1; // &
				case 39: return -1; // '
				case 40: return -1; // (
				case 41: return -1; // )
				case 42: return -1; // *
				case 43: return -1; // +
				case 44: return -1; // ,
				case 45: return -1; // -
				case 46: return -1; // .
				case 47: return -1; // /
				case 58: return -1; // :
				case 59: return -1; // ;
				case 60: return -1; // <
				case 61: return -1; // =
				case 62: return -1; // >
				case 63: return -1; // ?
				case 64: return -1; // @
				case 91: return -1; // [
				case 92: return -1; // '\'
				case 93: return -1; // ]
				case 94: return -1; // ^
				case 96: return -1; // `
				case 102: return -1; // f
				case 116: return -1; // t
				case 123: return -1; // {
				case 124: return -1; // |
				case 125: return -1; // }
				case 126: return -1; // ~
				case 165: return -1; // ¥
				case 171: return -1; // «
				case 177: return -1; // ±
				case 187: return -1; // »
				case 215: return -1; // ×
				case 247: return -1; // ÷
				case 8212: return -1; // —
				case 8216: return -1; // ‘
				case 8217: return -1; // ’
				case 8220: return -1; // “
				case 8221: return -1; // ”
				case 8230: return -1; // …
				case 8709: return -1; // ∅
				case 8719: return -1; // ∏
				case 8721: return -1; // ∑
				case 8756: return -1; // ∴
				case 8757: return -1; // ∵
				case 8758: return -1; // ∶
				case 8759: return -1; // ∷
				case 8776: return -1; // ≈
				case 8786: return -1; // ≒
				case 8800: return -1; // ≠
				case 8801: return -1; // ≡
				case 8804: return -1; // ≤
				case 8805: return -1; // ≥
				case 8806: return -1; // ≦
				case 8807: return -1; // ≧
				case 12289: return -1; // 、
				case 12290: return -1; // 。
				case 12298: return -1; // 《
				case 12299: return -1; // 》
				case 12304: return -1; // 【
				case 12305: return -1; // 】
				case 12310: return -1; // 〖
				case 12311: return -1; // 〗
				case 19981: return -1; // 不
				case 19988: return -1; // 且
				case 20026: return -1; // 为
				case 20056: return -1; // 乘
				case 20110: return 90; // 于
				case 20182: return -1; // 他
				case 20294: return -1; // 但
				case 20551: return -1; // 假
				case 20943: return -1; // 减
				case 21152: return -1; // 加
				case 21542: return -1; // 否
				case 22823: return -1; // 大
				case 22905: return -1; // 她
				case 22914: return -1; // 如
				case 23427: return -1; // 它
				case 23567: return -1; // 小
				case 24490: return -1; // 循
				case 25110: return -1; // 或
				case 26159: return -1; // 是
				case 30340: return -1; // 的
				case 30452: return -1; // 直
				case 30495: return -1; // 真
				case 31561: return -1; // 等
				case 32467: return -1; // 结
				case 38500: return -1; // 除
				case 65281: return -1; // ！
				case 65283: return -1; // ＃
				case 65286: return -1; // ＆
				case 65288: return -1; // （
				case 65289: return -1; // ）
				case 65291: return -1; // ＋
				case 65292: return -1; // ，
				case 65293: return -1; // －
				case 65295: return -1; // ／
				case 65306: return -1; // ：
				case 65307: return -1; // ；
				case 65308: return -1; // ＜
				case 65309: return -1; // ＝
				case 65310: return -1; // ＞
				case 65311: return -1; // ？
				case 65312: return -1; // ＠
				case 65339: return -1; // ［
				case 65340: return -1; // ＼
				case 65341: return -1; // ］
				case 65371: return -1; // ｛
				case 65372: return -1; // ｜
				case 65373: return -1; // ｝
				case 65374: return -1; // ～
				case 65509: return -1; // ￥
				default: return 10;
				}
			break;
			case 90:
				switch(u){
				case 31561: return 93; // 等
				default: return -1;
				}
			break;
			case 91:
				switch(u){
				case -1: return -1; // \eof
				case 8: return -1; // \back
				case 9: return -1; // \tab
				case 10: return -1; // \newline
				case 13: return -1; // \return
				case 32: return -1; // \space
				case 33: return -1; // !
				case 34: return -1; // "
				case 35: return -1; // #
				case 36: return -1; // $
				case 37: return -1; // %
				case 38: return -1; // &
				case 39: return -1; // '
				case 40: return -1; // (
				case 41: return -1; // )
				case 42: return -1; // *
				case 43: return -1; // +
				case 44: return -1; // ,
				case 45: return -1; // -
				case 46: return -1; // .
				case 47: return -1; // /
				case 58: return -1; // :
				case 59: return -1; // ;
				case 60: return -1; // <
				case 61: return -1; // =
				case 62: return -1; // >
				case 63: return -1; // ?
				case 64: return -1; // @
				case 91: return -1; // [
				case 92: return -1; // '\'
				case 93: return -1; // ]
				case 94: return -1; // ^
				case 96: return -1; // `
				case 102: return -1; // f
				case 116: return -1; // t
				case 123: return -1; // {
				case 124: return -1; // |
				case 125: return -1; // }
				case 126: return -1; // ~
				case 165: return -1; // ¥
				case 171: return -1; // «
				case 177: return -1; // ±
				case 187: return -1; // »
				case 215: return -1; // ×
				case 247: return -1; // ÷
				case 8212: return -1; // —
				case 8216: return -1; // ‘
				case 8217: return -1; // ’
				case 8220: return -1; // “
				case 8221: return -1; // ”
				case 8230: return -1; // …
				case 8709: return -1; // ∅
				case 8719: return -1; // ∏
				case 8721: return -1; // ∑
				case 8756: return -1; // ∴
				case 8757: return -1; // ∵
				case 8758: return -1; // ∶
				case 8759: return -1; // ∷
				case 8776: return -1; // ≈
				case 8786: return -1; // ≒
				case 8800: return -1; // ≠
				case 8801: return -1; // ≡
				case 8804: return -1; // ≤
				case 8805: return -1; // ≥
				case 8806: return -1; // ≦
				case 8807: return -1; // ≧
				case 12289: return -1; // 、
				case 12290: return -1; // 。
				case 12298: return -1; // 《
				case 12299: return -1; // 》
				case 12304: return -1; // 【
				case 12305: return -1; // 】
				case 12310: return -1; // 〖
				case 12311: return -1; // 〗
				case 19981: return -1; // 不
				case 19988: return -1; // 且
				case 20026: return -1; // 为
				case 20056: return -1; // 乘
				case 20110: return 92; // 于
				case 20182: return -1; // 他
				case 20294: return -1; // 但
				case 20551: return -1; // 假
				case 20943: return -1; // 减
				case 21152: return -1; // 加
				case 21542: return -1; // 否
				case 22823: return -1; // 大
				case 22905: return -1; // 她
				case 22914: return -1; // 如
				case 23427: return -1; // 它
				case 23567: return -1; // 小
				case 24490: return -1; // 循
				case 25110: return -1; // 或
				case 26159: return -1; // 是
				case 30340: return -1; // 的
				case 30452: return -1; // 直
				case 30495: return -1; // 真
				case 31561: return -1; // 等
				case 32467: return -1; // 结
				case 38500: return -1; // 除
				case 65281: return -1; // ！
				case 65283: return -1; // ＃
				case 65286: return -1; // ＆
				case 65288: return -1; // （
				case 65289: return -1; // ）
				case 65291: return -1; // ＋
				case 65292: return -1; // ，
				case 65293: return -1; // －
				case 65295: return -1; // ／
				case 65306: return -1; // ：
				case 65307: return -1; // ；
				case 65308: return -1; // ＜
				case 65309: return -1; // ＝
				case 65310: return -1; // ＞
				case 65311: return -1; // ？
				case 65312: return -1; // ＠
				case 65339: return -1; // ［
				case 65340: return -1; // ＼
				case 65341: return -1; // ］
				case 65371: return -1; // ｛
				case 65372: return -1; // ｜
				case 65373: return -1; // ｝
				case 65374: return -1; // ～
				case 65509: return -1; // ￥
				default: return 10;
				}
			break;
			case 92: return -1;
			case 93:
				switch(u){
				case -1: return -1; // \eof
				case 8: return -1; // \back
				case 9: return -1; // \tab
				case 10: return -1; // \newline
				case 13: return -1; // \return
				case 32: return -1; // \space
				case 33: return -1; // !
				case 34: return -1; // "
				case 35: return -1; // #
				case 36: return -1; // $
				case 37: return -1; // %
				case 38: return -1; // &
				case 39: return -1; // '
				case 40: return -1; // (
				case 41: return -1; // )
				case 42: return -1; // *
				case 43: return -1; // +
				case 44: return -1; // ,
				case 45: return -1; // -
				case 46: return -1; // .
				case 47: return -1; // /
				case 58: return -1; // :
				case 59: return -1; // ;
				case 60: return -1; // <
				case 61: return -1; // =
				case 62: return -1; // >
				case 63: return -1; // ?
				case 64: return -1; // @
				case 91: return -1; // [
				case 92: return -1; // '\'
				case 93: return -1; // ]
				case 94: return -1; // ^
				case 96: return -1; // `
				case 102: return -1; // f
				case 116: return -1; // t
				case 123: return -1; // {
				case 124: return -1; // |
				case 125: return -1; // }
				case 126: return -1; // ~
				case 165: return -1; // ¥
				case 171: return -1; // «
				case 177: return -1; // ±
				case 187: return -1; // »
				case 215: return -1; // ×
				case 247: return -1; // ÷
				case 8212: return -1; // —
				case 8216: return -1; // ‘
				case 8217: return -1; // ’
				case 8220: return -1; // “
				case 8221: return -1; // ”
				case 8230: return -1; // …
				case 8709: return -1; // ∅
				case 8719: return -1; // ∏
				case 8721: return -1; // ∑
				case 8756: return -1; // ∴
				case 8757: return -1; // ∵
				case 8758: return -1; // ∶
				case 8759: return -1; // ∷
				case 8776: return -1; // ≈
				case 8786: return -1; // ≒
				case 8800: return -1; // ≠
				case 8801: return -1; // ≡
				case 8804: return -1; // ≤
				case 8805: return -1; // ≥
				case 8806: return -1; // ≦
				case 8807: return -1; // ≧
				case 12289: return -1; // 、
				case 12290: return -1; // 。
				case 12298: return -1; // 《
				case 12299: return -1; // 》
				case 12304: return -1; // 【
				case 12305: return -1; // 】
				case 12310: return -1; // 〖
				case 12311: return -1; // 〗
				case 19981: return -1; // 不
				case 19988: return -1; // 且
				case 20026: return -1; // 为
				case 20056: return -1; // 乘
				case 20110: return 94; // 于
				case 20182: return -1; // 他
				case 20294: return -1; // 但
				case 20551: return -1; // 假
				case 20943: return -1; // 减
				case 21152: return -1; // 加
				case 21542: return -1; // 否
				case 22823: return -1; // 大
				case 22905: return -1; // 她
				case 22914: return -1; // 如
				case 23427: return -1; // 它
				case 23567: return -1; // 小
				case 24490: return -1; // 循
				case 25110: return -1; // 或
				case 26159: return -1; // 是
				case 30340: return -1; // 的
				case 30452: return -1; // 直
				case 30495: return -1; // 真
				case 31561: return -1; // 等
				case 32467: return -1; // 结
				case 38500: return -1; // 除
				case 65281: return -1; // ！
				case 65283: return -1; // ＃
				case 65286: return -1; // ＆
				case 65288: return -1; // （
				case 65289: return -1; // ）
				case 65291: return -1; // ＋
				case 65292: return -1; // ，
				case 65293: return -1; // －
				case 65295: return -1; // ／
				case 65306: return -1; // ：
				case 65307: return -1; // ；
				case 65308: return -1; // ＜
				case 65309: return -1; // ＝
				case 65310: return -1; // ＞
				case 65311: return -1; // ？
				case 65312: return -1; // ＠
				case 65339: return -1; // ［
				case 65340: return -1; // ＼
				case 65341: return -1; // ］
				case 65371: return -1; // ｛
				case 65372: return -1; // ｜
				case 65373: return -1; // ｝
				case 65374: return -1; // ～
				case 65509: return -1; // ￥
				default: return 10;
				}
			break;
			case 94: return -1;
			case 95:
				switch(u){
				case -1: return -1; // \eof
				case 8: return -1; // \back
				case 9: return -1; // \tab
				case 10: return -1; // \newline
				case 13: return -1; // \return
				case 32: return -1; // \space
				case 33: return -1; // !
				case 34: return -1; // "
				case 35: return -1; // #
				case 36: return -1; // $
				case 37: return -1; // %
				case 38: return -1; // &
				case 39: return -1; // '
				case 40: return -1; // (
				case 41: return -1; // )
				case 42: return -1; // *
				case 43: return -1; // +
				case 44: return -1; // ,
				case 45: return -1; // -
				case 46: return -1; // .
				case 47: return -1; // /
				case 58: return -1; // :
				case 59: return -1; // ;
				case 60: return -1; // <
				case 61: return -1; // =
				case 62: return -1; // >
				case 63: return -1; // ?
				case 64: return -1; // @
				case 91: return -1; // [
				case 92: return -1; // '\'
				case 93: return -1; // ]
				case 94: return -1; // ^
				case 96: return -1; // `
				case 102: return -1; // f
				case 116: return -1; // t
				case 123: return -1; // {
				case 124: return -1; // |
				case 125: return -1; // }
				case 126: return -1; // ~
				case 165: return -1; // ¥
				case 171: return -1; // «
				case 177: return -1; // ±
				case 187: return -1; // »
				case 215: return -1; // ×
				case 247: return -1; // ÷
				case 8212: return -1; // —
				case 8216: return -1; // ‘
				case 8217: return -1; // ’
				case 8220: return -1; // “
				case 8221: return -1; // ”
				case 8230: return -1; // …
				case 8709: return -1; // ∅
				case 8719: return -1; // ∏
				case 8721: return -1; // ∑
				case 8756: return -1; // ∴
				case 8757: return -1; // ∵
				case 8758: return -1; // ∶
				case 8759: return -1; // ∷
				case 8776: return -1; // ≈
				case 8786: return -1; // ≒
				case 8800: return -1; // ≠
				case 8801: return -1; // ≡
				case 8804: return -1; // ≤
				case 8805: return -1; // ≥
				case 8806: return -1; // ≦
				case 8807: return -1; // ≧
				case 12289: return -1; // 、
				case 12290: return -1; // 。
				case 12298: return -1; // 《
				case 12299: return -1; // 》
				case 12304: return -1; // 【
				case 12305: return -1; // 】
				case 12310: return -1; // 〖
				case 12311: return -1; // 〗
				case 19981: return -1; // 不
				case 19988: return -1; // 且
				case 20026: return -1; // 为
				case 20056: return -1; // 乘
				case 20110: return 96; // 于
				case 20182: return -1; // 他
				case 20294: return -1; // 但
				case 20551: return -1; // 假
				case 20943: return -1; // 减
				case 21152: return -1; // 加
				case 21542: return -1; // 否
				case 22823: return -1; // 大
				case 22905: return -1; // 她
				case 22914: return -1; // 如
				case 23427: return -1; // 它
				case 23567: return -1; // 小
				case 24490: return -1; // 循
				case 25110: return -1; // 或
				case 26159: return -1; // 是
				case 30340: return -1; // 的
				case 30452: return -1; // 直
				case 30495: return -1; // 真
				case 31561: return -1; // 等
				case 32467: return -1; // 结
				case 38500: return -1; // 除
				case 65281: return -1; // ！
				case 65283: return -1; // ＃
				case 65286: return -1; // ＆
				case 65288: return -1; // （
				case 65289: return -1; // ）
				case 65291: return -1; // ＋
				case 65292: return -1; // ，
				case 65293: return -1; // －
				case 65295: return -1; // ／
				case 65306: return -1; // ：
				case 65307: return -1; // ；
				case 65308: return -1; // ＜
				case 65309: return -1; // ＝
				case 65310: return -1; // ＞
				case 65311: return -1; // ？
				case 65312: return -1; // ＠
				case 65339: return -1; // ［
				case 65340: return -1; // ＼
				case 65341: return -1; // ］
				case 65371: return -1; // ｛
				case 65372: return -1; // ｜
				case 65373: return -1; // ｝
				case 65374: return -1; // ～
				case 65509: return -1; // ￥
				default: return 10;
				}
			break;
			case 96:
				switch(u){
				case 31561: return 99; // 等
				default: return -1;
				}
			break;
			case 97:
				switch(u){
				case -1: return -1; // \eof
				case 8: return -1; // \back
				case 9: return -1; // \tab
				case 10: return -1; // \newline
				case 13: return -1; // \return
				case 32: return -1; // \space
				case 33: return -1; // !
				case 34: return -1; // "
				case 35: return -1; // #
				case 36: return -1; // $
				case 37: return -1; // %
				case 38: return -1; // &
				case 39: return -1; // '
				case 40: return -1; // (
				case 41: return -1; // )
				case 42: return -1; // *
				case 43: return -1; // +
				case 44: return -1; // ,
				case 45: return -1; // -
				case 46: return -1; // .
				case 47: return -1; // /
				case 58: return -1; // :
				case 59: return -1; // ;
				case 60: return -1; // <
				case 61: return -1; // =
				case 62: return -1; // >
				case 63: return -1; // ?
				case 64: return -1; // @
				case 91: return -1; // [
				case 92: return -1; // '\'
				case 93: return -1; // ]
				case 94: return -1; // ^
				case 96: return -1; // `
				case 102: return -1; // f
				case 116: return -1; // t
				case 123: return -1; // {
				case 124: return -1; // |
				case 125: return -1; // }
				case 126: return -1; // ~
				case 165: return -1; // ¥
				case 171: return -1; // «
				case 177: return -1; // ±
				case 187: return -1; // »
				case 215: return -1; // ×
				case 247: return -1; // ÷
				case 8212: return -1; // —
				case 8216: return -1; // ‘
				case 8217: return -1; // ’
				case 8220: return -1; // “
				case 8221: return -1; // ”
				case 8230: return -1; // …
				case 8709: return -1; // ∅
				case 8719: return -1; // ∏
				case 8721: return -1; // ∑
				case 8756: return -1; // ∴
				case 8757: return -1; // ∵
				case 8758: return -1; // ∶
				case 8759: return -1; // ∷
				case 8776: return -1; // ≈
				case 8786: return -1; // ≒
				case 8800: return -1; // ≠
				case 8801: return -1; // ≡
				case 8804: return -1; // ≤
				case 8805: return -1; // ≥
				case 8806: return -1; // ≦
				case 8807: return -1; // ≧
				case 12289: return -1; // 、
				case 12290: return -1; // 。
				case 12298: return -1; // 《
				case 12299: return -1; // 》
				case 12304: return -1; // 【
				case 12305: return -1; // 】
				case 12310: return -1; // 〖
				case 12311: return -1; // 〗
				case 19981: return -1; // 不
				case 19988: return -1; // 且
				case 20026: return -1; // 为
				case 20056: return -1; // 乘
				case 20110: return 98; // 于
				case 20182: return -1; // 他
				case 20294: return -1; // 但
				case 20551: return -1; // 假
				case 20943: return -1; // 减
				case 21152: return -1; // 加
				case 21542: return -1; // 否
				case 22823: return -1; // 大
				case 22905: return -1; // 她
				case 22914: return -1; // 如
				case 23427: return -1; // 它
				case 23567: return -1; // 小
				case 24490: return -1; // 循
				case 25110: return -1; // 或
				case 26159: return -1; // 是
				case 30340: return -1; // 的
				case 30452: return -1; // 直
				case 30495: return -1; // 真
				case 31561: return -1; // 等
				case 32467: return -1; // 结
				case 38500: return -1; // 除
				case 65281: return -1; // ！
				case 65283: return -1; // ＃
				case 65286: return -1; // ＆
				case 65288: return -1; // （
				case 65289: return -1; // ）
				case 65291: return -1; // ＋
				case 65292: return -1; // ，
				case 65293: return -1; // －
				case 65295: return -1; // ／
				case 65306: return -1; // ：
				case 65307: return -1; // ；
				case 65308: return -1; // ＜
				case 65309: return -1; // ＝
				case 65310: return -1; // ＞
				case 65311: return -1; // ？
				case 65312: return -1; // ＠
				case 65339: return -1; // ［
				case 65340: return -1; // ＼
				case 65341: return -1; // ］
				case 65371: return -1; // ｛
				case 65372: return -1; // ｜
				case 65373: return -1; // ｝
				case 65374: return -1; // ～
				case 65509: return -1; // ￥
				default: return 10;
				}
			break;
			case 98:
				switch(u){
				case 31561: return 101; // 等
				default: return -1;
				}
			break;
			case 99:
				switch(u){
				case -1: return -1; // \eof
				case 8: return -1; // \back
				case 9: return -1; // \tab
				case 10: return -1; // \newline
				case 13: return -1; // \return
				case 32: return -1; // \space
				case 33: return -1; // !
				case 34: return -1; // "
				case 35: return -1; // #
				case 36: return -1; // $
				case 37: return -1; // %
				case 38: return -1; // &
				case 39: return -1; // '
				case 40: return -1; // (
				case 41: return -1; // )
				case 42: return -1; // *
				case 43: return -1; // +
				case 44: return -1; // ,
				case 45: return -1; // -
				case 46: return -1; // .
				case 47: return -1; // /
				case 58: return -1; // :
				case 59: return -1; // ;
				case 60: return -1; // <
				case 61: return -1; // =
				case 62: return -1; // >
				case 63: return -1; // ?
				case 64: return -1; // @
				case 91: return -1; // [
				case 92: return -1; // '\'
				case 93: return -1; // ]
				case 94: return -1; // ^
				case 96: return -1; // `
				case 102: return -1; // f
				case 116: return -1; // t
				case 123: return -1; // {
				case 124: return -1; // |
				case 125: return -1; // }
				case 126: return -1; // ~
				case 165: return -1; // ¥
				case 171: return -1; // «
				case 177: return -1; // ±
				case 187: return -1; // »
				case 215: return -1; // ×
				case 247: return -1; // ÷
				case 8212: return -1; // —
				case 8216: return -1; // ‘
				case 8217: return -1; // ’
				case 8220: return -1; // “
				case 8221: return -1; // ”
				case 8230: return -1; // …
				case 8709: return -1; // ∅
				case 8719: return -1; // ∏
				case 8721: return -1; // ∑
				case 8756: return -1; // ∴
				case 8757: return -1; // ∵
				case 8758: return -1; // ∶
				case 8759: return -1; // ∷
				case 8776: return -1; // ≈
				case 8786: return -1; // ≒
				case 8800: return -1; // ≠
				case 8801: return -1; // ≡
				case 8804: return -1; // ≤
				case 8805: return -1; // ≥
				case 8806: return -1; // ≦
				case 8807: return -1; // ≧
				case 12289: return -1; // 、
				case 12290: return -1; // 。
				case 12298: return -1; // 《
				case 12299: return -1; // 》
				case 12304: return -1; // 【
				case 12305: return -1; // 】
				case 12310: return -1; // 〖
				case 12311: return -1; // 〗
				case 19981: return -1; // 不
				case 19988: return -1; // 且
				case 20026: return -1; // 为
				case 20056: return -1; // 乘
				case 20110: return 100; // 于
				case 20182: return -1; // 他
				case 20294: return -1; // 但
				case 20551: return -1; // 假
				case 20943: return -1; // 减
				case 21152: return -1; // 加
				case 21542: return -1; // 否
				case 22823: return -1; // 大
				case 22905: return -1; // 她
				case 22914: return -1; // 如
				case 23427: return -1; // 它
				case 23567: return -1; // 小
				case 24490: return -1; // 循
				case 25110: return -1; // 或
				case 26159: return -1; // 是
				case 30340: return -1; // 的
				case 30452: return -1; // 直
				case 30495: return -1; // 真
				case 31561: return -1; // 等
				case 32467: return -1; // 结
				case 38500: return -1; // 除
				case 65281: return -1; // ！
				case 65283: return -1; // ＃
				case 65286: return -1; // ＆
				case 65288: return -1; // （
				case 65289: return -1; // ）
				case 65291: return -1; // ＋
				case 65292: return -1; // ，
				case 65293: return -1; // －
				case 65295: return -1; // ／
				case 65306: return -1; // ：
				case 65307: return -1; // ；
				case 65308: return -1; // ＜
				case 65309: return -1; // ＝
				case 65310: return -1; // ＞
				case 65311: return -1; // ？
				case 65312: return -1; // ＠
				case 65339: return -1; // ［
				case 65340: return -1; // ＼
				case 65341: return -1; // ］
				case 65371: return -1; // ｛
				case 65372: return -1; // ｜
				case 65373: return -1; // ｝
				case 65374: return -1; // ～
				case 65509: return -1; // ￥
				default: return 10;
				}
			break;
			case 100: return -1;
			case 101:
				switch(u){
				case -1: return -1; // \eof
				case 8: return -1; // \back
				case 9: return -1; // \tab
				case 10: return -1; // \newline
				case 13: return -1; // \return
				case 32: return -1; // \space
				case 33: return -1; // !
				case 34: return -1; // "
				case 35: return -1; // #
				case 36: return -1; // $
				case 37: return -1; // %
				case 38: return -1; // &
				case 39: return -1; // '
				case 40: return -1; // (
				case 41: return -1; // )
				case 42: return -1; // *
				case 43: return -1; // +
				case 44: return -1; // ,
				case 45: return -1; // -
				case 46: return -1; // .
				case 47: return -1; // /
				case 58: return -1; // :
				case 59: return -1; // ;
				case 60: return -1; // <
				case 61: return -1; // =
				case 62: return -1; // >
				case 63: return -1; // ?
				case 64: return -1; // @
				case 91: return -1; // [
				case 92: return -1; // '\'
				case 93: return -1; // ]
				case 94: return -1; // ^
				case 96: return -1; // `
				case 102: return -1; // f
				case 116: return -1; // t
				case 123: return -1; // {
				case 124: return -1; // |
				case 125: return -1; // }
				case 126: return -1; // ~
				case 165: return -1; // ¥
				case 171: return -1; // «
				case 177: return -1; // ±
				case 187: return -1; // »
				case 215: return -1; // ×
				case 247: return -1; // ÷
				case 8212: return -1; // —
				case 8216: return -1; // ‘
				case 8217: return -1; // ’
				case 8220: return -1; // “
				case 8221: return -1; // ”
				case 8230: return -1; // …
				case 8709: return -1; // ∅
				case 8719: return -1; // ∏
				case 8721: return -1; // ∑
				case 8756: return -1; // ∴
				case 8757: return -1; // ∵
				case 8758: return -1; // ∶
				case 8759: return -1; // ∷
				case 8776: return -1; // ≈
				case 8786: return -1; // ≒
				case 8800: return -1; // ≠
				case 8801: return -1; // ≡
				case 8804: return -1; // ≤
				case 8805: return -1; // ≥
				case 8806: return -1; // ≦
				case 8807: return -1; // ≧
				case 12289: return -1; // 、
				case 12290: return -1; // 。
				case 12298: return -1; // 《
				case 12299: return -1; // 》
				case 12304: return -1; // 【
				case 12305: return -1; // 】
				case 12310: return -1; // 〖
				case 12311: return -1; // 〗
				case 19981: return -1; // 不
				case 19988: return -1; // 且
				case 20026: return -1; // 为
				case 20056: return -1; // 乘
				case 20110: return 102; // 于
				case 20182: return -1; // 他
				case 20294: return -1; // 但
				case 20551: return -1; // 假
				case 20943: return -1; // 减
				case 21152: return -1; // 加
				case 21542: return -1; // 否
				case 22823: return -1; // 大
				case 22905: return -1; // 她
				case 22914: return -1; // 如
				case 23427: return -1; // 它
				case 23567: return -1; // 小
				case 24490: return -1; // 循
				case 25110: return -1; // 或
				case 26159: return -1; // 是
				case 30340: return -1; // 的
				case 30452: return -1; // 直
				case 30495: return -1; // 真
				case 31561: return -1; // 等
				case 32467: return -1; // 结
				case 38500: return -1; // 除
				case 65281: return -1; // ！
				case 65283: return -1; // ＃
				case 65286: return -1; // ＆
				case 65288: return -1; // （
				case 65289: return -1; // ）
				case 65291: return -1; // ＋
				case 65292: return -1; // ，
				case 65293: return -1; // －
				case 65295: return -1; // ／
				case 65306: return -1; // ：
				case 65307: return -1; // ；
				case 65308: return -1; // ＜
				case 65309: return -1; // ＝
				case 65310: return -1; // ＞
				case 65311: return -1; // ？
				case 65312: return -1; // ＠
				case 65339: return -1; // ［
				case 65340: return -1; // ＼
				case 65341: return -1; // ］
				case 65371: return -1; // ｛
				case 65372: return -1; // ｜
				case 65373: return -1; // ｝
				case 65374: return -1; // ～
				case 65509: return -1; // ￥
				default: return 10;
				}
			break;
			case 102: return -1;
			case 103: return -1;
			case 104: return -1;
			case 105: return -1;
			case 106: return -1;
			case 107:
				switch(u){
				case -1: return -1; // \eof
				case 8: return -1; // \back
				case 9: return -1; // \tab
				case 10: return -1; // \newline
				case 13: return -1; // \return
				case 32: return -1; // \space
				case 33: return -1; // !
				case 34: return -1; // "
				case 35: return -1; // #
				case 36: return -1; // $
				case 37: return -1; // %
				case 38: return -1; // &
				case 39: return -1; // '
				case 40: return -1; // (
				case 41: return -1; // )
				case 42: return -1; // *
				case 43: return -1; // +
				case 44: return -1; // ,
				case 45: return -1; // -
				case 46: return -1; // .
				case 47: return -1; // /
				case 58: return -1; // :
				case 59: return -1; // ;
				case 60: return -1; // <
				case 61: return -1; // =
				case 62: return -1; // >
				case 63: return -1; // ?
				case 64: return -1; // @
				case 91: return -1; // [
				case 92: return -1; // '\'
				case 93: return -1; // ]
				case 94: return -1; // ^
				case 96: return -1; // `
				case 102: return -1; // f
				case 116: return -1; // t
				case 123: return -1; // {
				case 124: return -1; // |
				case 125: return -1; // }
				case 126: return -1; // ~
				case 165: return -1; // ¥
				case 171: return -1; // «
				case 177: return -1; // ±
				case 187: return -1; // »
				case 215: return -1; // ×
				case 247: return -1; // ÷
				case 8212: return -1; // —
				case 8216: return -1; // ‘
				case 8217: return -1; // ’
				case 8220: return -1; // “
				case 8221: return -1; // ”
				case 8230: return -1; // …
				case 8709: return -1; // ∅
				case 8719: return -1; // ∏
				case 8721: return -1; // ∑
				case 8756: return -1; // ∴
				case 8757: return -1; // ∵
				case 8758: return -1; // ∶
				case 8759: return -1; // ∷
				case 8776: return -1; // ≈
				case 8786: return -1; // ≒
				case 8800: return -1; // ≠
				case 8801: return -1; // ≡
				case 8804: return -1; // ≤
				case 8805: return -1; // ≥
				case 8806: return -1; // ≦
				case 8807: return -1; // ≧
				case 12289: return -1; // 、
				case 12290: return -1; // 。
				case 12298: return -1; // 《
				case 12299: return -1; // 》
				case 12304: return -1; // 【
				case 12305: return -1; // 】
				case 12310: return -1; // 〖
				case 12311: return -1; // 〗
				case 19981: return -1; // 不
				case 19988: return -1; // 且
				case 20026: return -1; // 为
				case 20056: return -1; // 乘
				case 20110: return 108; // 于
				case 20182: return -1; // 他
				case 20294: return -1; // 但
				case 20551: return -1; // 假
				case 20943: return -1; // 减
				case 21152: return -1; // 加
				case 21542: return -1; // 否
				case 22823: return -1; // 大
				case 22905: return -1; // 她
				case 22914: return -1; // 如
				case 23427: return -1; // 它
				case 23567: return -1; // 小
				case 24490: return -1; // 循
				case 25110: return -1; // 或
				case 26159: return -1; // 是
				case 30340: return -1; // 的
				case 30452: return -1; // 直
				case 30495: return -1; // 真
				case 31561: return -1; // 等
				case 32467: return -1; // 结
				case 38500: return -1; // 除
				case 65281: return -1; // ！
				case 65283: return -1; // ＃
				case 65286: return -1; // ＆
				case 65288: return -1; // （
				case 65289: return -1; // ）
				case 65291: return -1; // ＋
				case 65292: return -1; // ，
				case 65293: return -1; // －
				case 65295: return -1; // ／
				case 65306: return -1; // ：
				case 65307: return -1; // ；
				case 65308: return -1; // ＜
				case 65309: return -1; // ＝
				case 65310: return -1; // ＞
				case 65311: return -1; // ？
				case 65312: return -1; // ＠
				case 65339: return -1; // ［
				case 65340: return -1; // ＼
				case 65341: return -1; // ］
				case 65371: return -1; // ｛
				case 65372: return -1; // ｜
				case 65373: return -1; // ｝
				case 65374: return -1; // ～
				case 65509: return -1; // ￥
				default: return 10;
				}
			break;
			case 108: return -1;
			case 109:
				switch(u){
				case -1: return -1; // \eof
				case 8: return -1; // \back
				case 9: return -1; // \tab
				case 10: return -1; // \newline
				case 13: return -1; // \return
				case 32: return -1; // \space
				case 33: return -1; // !
				case 34: return -1; // "
				case 35: return -1; // #
				case 36: return -1; // $
				case 37: return -1; // %
				case 38: return -1; // &
				case 39: return -1; // '
				case 40: return -1; // (
				case 41: return -1; // )
				case 42: return -1; // *
				case 43: return -1; // +
				case 44: return -1; // ,
				case 45: return -1; // -
				case 46: return -1; // .
				case 47: return -1; // /
				case 58: return -1; // :
				case 59: return -1; // ;
				case 60: return -1; // <
				case 61: return -1; // =
				case 62: return -1; // >
				case 63: return -1; // ?
				case 64: return -1; // @
				case 91: return -1; // [
				case 92: return -1; // '\'
				case 93: return -1; // ]
				case 94: return -1; // ^
				case 96: return -1; // `
				case 102: return -1; // f
				case 116: return -1; // t
				case 123: return -1; // {
				case 124: return -1; // |
				case 125: return -1; // }
				case 126: return -1; // ~
				case 165: return -1; // ¥
				case 171: return -1; // «
				case 177: return -1; // ±
				case 187: return -1; // »
				case 215: return -1; // ×
				case 247: return -1; // ÷
				case 8212: return -1; // —
				case 8216: return -1; // ‘
				case 8217: return -1; // ’
				case 8220: return -1; // “
				case 8221: return -1; // ”
				case 8230: return -1; // …
				case 8709: return -1; // ∅
				case 8719: return -1; // ∏
				case 8721: return -1; // ∑
				case 8756: return -1; // ∴
				case 8757: return -1; // ∵
				case 8758: return -1; // ∶
				case 8759: return -1; // ∷
				case 8776: return -1; // ≈
				case 8786: return -1; // ≒
				case 8800: return -1; // ≠
				case 8801: return -1; // ≡
				case 8804: return -1; // ≤
				case 8805: return -1; // ≥
				case 8806: return -1; // ≦
				case 8807: return -1; // ≧
				case 12289: return -1; // 、
				case 12290: return -1; // 。
				case 12298: return -1; // 《
				case 12299: return -1; // 》
				case 12304: return -1; // 【
				case 12305: return -1; // 】
				case 12310: return -1; // 〖
				case 12311: return -1; // 〗
				case 19981: return -1; // 不
				case 19988: return -1; // 且
				case 20026: return -1; // 为
				case 20056: return -1; // 乘
				case 20110: return 110; // 于
				case 20182: return -1; // 他
				case 20294: return -1; // 但
				case 20551: return -1; // 假
				case 20943: return -1; // 减
				case 21152: return -1; // 加
				case 21542: return -1; // 否
				case 22823: return -1; // 大
				case 22905: return -1; // 她
				case 22914: return -1; // 如
				case 23427: return -1; // 它
				case 23567: return -1; // 小
				case 24490: return -1; // 循
				case 25110: return -1; // 或
				case 26159: return -1; // 是
				case 30340: return -1; // 的
				case 30452: return -1; // 直
				case 30495: return -1; // 真
				case 31561: return -1; // 等
				case 32467: return -1; // 结
				case 38500: return -1; // 除
				case 65281: return -1; // ！
				case 65283: return -1; // ＃
				case 65286: return -1; // ＆
				case 65288: return -1; // （
				case 65289: return -1; // ）
				case 65291: return -1; // ＋
				case 65292: return -1; // ，
				case 65293: return -1; // －
				case 65295: return -1; // ／
				case 65306: return -1; // ：
				case 65307: return -1; // ；
				case 65308: return -1; // ＜
				case 65309: return -1; // ＝
				case 65310: return -1; // ＞
				case 65311: return -1; // ？
				case 65312: return -1; // ＠
				case 65339: return -1; // ［
				case 65340: return -1; // ＼
				case 65341: return -1; // ］
				case 65371: return -1; // ｛
				case 65372: return -1; // ｜
				case 65373: return -1; // ｝
				case 65374: return -1; // ～
				case 65509: return -1; // ￥
				default: return 10;
				}
			break;
			case 110:
				switch(u){
				case 31561: return 113; // 等
				default: return -1;
				}
			break;
			case 111:
				switch(u){
				case -1: return -1; // \eof
				case 8: return -1; // \back
				case 9: return -1; // \tab
				case 10: return -1; // \newline
				case 13: return -1; // \return
				case 32: return -1; // \space
				case 33: return -1; // !
				case 34: return -1; // "
				case 35: return -1; // #
				case 36: return -1; // $
				case 37: return -1; // %
				case 38: return -1; // &
				case 39: return -1; // '
				case 40: return -1; // (
				case 41: return -1; // )
				case 42: return -1; // *
				case 43: return -1; // +
				case 44: return -1; // ,
				case 45: return -1; // -
				case 46: return -1; // .
				case 47: return -1; // /
				case 58: return -1; // :
				case 59: return -1; // ;
				case 60: return -1; // <
				case 61: return -1; // =
				case 62: return -1; // >
				case 63: return -1; // ?
				case 64: return -1; // @
				case 91: return -1; // [
				case 92: return -1; // '\'
				case 93: return -1; // ]
				case 94: return -1; // ^
				case 96: return -1; // `
				case 102: return -1; // f
				case 116: return -1; // t
				case 123: return -1; // {
				case 124: return -1; // |
				case 125: return -1; // }
				case 126: return -1; // ~
				case 165: return -1; // ¥
				case 171: return -1; // «
				case 177: return -1; // ±
				case 187: return -1; // »
				case 215: return -1; // ×
				case 247: return -1; // ÷
				case 8212: return -1; // —
				case 8216: return -1; // ‘
				case 8217: return -1; // ’
				case 8220: return -1; // “
				case 8221: return -1; // ”
				case 8230: return -1; // …
				case 8709: return -1; // ∅
				case 8719: return -1; // ∏
				case 8721: return -1; // ∑
				case 8756: return -1; // ∴
				case 8757: return -1; // ∵
				case 8758: return -1; // ∶
				case 8759: return -1; // ∷
				case 8776: return -1; // ≈
				case 8786: return -1; // ≒
				case 8800: return -1; // ≠
				case 8801: return -1; // ≡
				case 8804: return -1; // ≤
				case 8805: return -1; // ≥
				case 8806: return -1; // ≦
				case 8807: return -1; // ≧
				case 12289: return -1; // 、
				case 12290: return -1; // 。
				case 12298: return -1; // 《
				case 12299: return -1; // 》
				case 12304: return -1; // 【
				case 12305: return -1; // 】
				case 12310: return -1; // 〖
				case 12311: return -1; // 〗
				case 19981: return -1; // 不
				case 19988: return -1; // 且
				case 20026: return -1; // 为
				case 20056: return -1; // 乘
				case 20110: return 112; // 于
				case 20182: return -1; // 他
				case 20294: return -1; // 但
				case 20551: return -1; // 假
				case 20943: return -1; // 减
				case 21152: return -1; // 加
				case 21542: return -1; // 否
				case 22823: return -1; // 大
				case 22905: return -1; // 她
				case 22914: return -1; // 如
				case 23427: return -1; // 它
				case 23567: return -1; // 小
				case 24490: return -1; // 循
				case 25110: return -1; // 或
				case 26159: return -1; // 是
				case 30340: return -1; // 的
				case 30452: return -1; // 直
				case 30495: return -1; // 真
				case 31561: return -1; // 等
				case 32467: return -1; // 结
				case 38500: return -1; // 除
				case 65281: return -1; // ！
				case 65283: return -1; // ＃
				case 65286: return -1; // ＆
				case 65288: return -1; // （
				case 65289: return -1; // ）
				case 65291: return -1; // ＋
				case 65292: return -1; // ，
				case 65293: return -1; // －
				case 65295: return -1; // ／
				case 65306: return -1; // ：
				case 65307: return -1; // ；
				case 65308: return -1; // ＜
				case 65309: return -1; // ＝
				case 65310: return -1; // ＞
				case 65311: return -1; // ？
				case 65312: return -1; // ＠
				case 65339: return -1; // ［
				case 65340: return -1; // ＼
				case 65341: return -1; // ］
				case 65371: return -1; // ｛
				case 65372: return -1; // ｜
				case 65373: return -1; // ｝
				case 65374: return -1; // ～
				case 65509: return -1; // ￥
				default: return 10;
				}
			break;
			case 112:
				switch(u){
				case 31561: return 115; // 等
				default: return -1;
				}
			break;
			case 113:
				switch(u){
				case -1: return -1; // \eof
				case 8: return -1; // \back
				case 9: return -1; // \tab
				case 10: return -1; // \newline
				case 13: return -1; // \return
				case 32: return -1; // \space
				case 33: return -1; // !
				case 34: return -1; // "
				case 35: return -1; // #
				case 36: return -1; // $
				case 37: return -1; // %
				case 38: return -1; // &
				case 39: return -1; // '
				case 40: return -1; // (
				case 41: return -1; // )
				case 42: return -1; // *
				case 43: return -1; // +
				case 44: return -1; // ,
				case 45: return -1; // -
				case 46: return -1; // .
				case 47: return -1; // /
				case 58: return -1; // :
				case 59: return -1; // ;
				case 60: return -1; // <
				case 61: return -1; // =
				case 62: return -1; // >
				case 63: return -1; // ?
				case 64: return -1; // @
				case 91: return -1; // [
				case 92: return -1; // '\'
				case 93: return -1; // ]
				case 94: return -1; // ^
				case 96: return -1; // `
				case 102: return -1; // f
				case 116: return -1; // t
				case 123: return -1; // {
				case 124: return -1; // |
				case 125: return -1; // }
				case 126: return -1; // ~
				case 165: return -1; // ¥
				case 171: return -1; // «
				case 177: return -1; // ±
				case 187: return -1; // »
				case 215: return -1; // ×
				case 247: return -1; // ÷
				case 8212: return -1; // —
				case 8216: return -1; // ‘
				case 8217: return -1; // ’
				case 8220: return -1; // “
				case 8221: return -1; // ”
				case 8230: return -1; // …
				case 8709: return -1; // ∅
				case 8719: return -1; // ∏
				case 8721: return -1; // ∑
				case 8756: return -1; // ∴
				case 8757: return -1; // ∵
				case 8758: return -1; // ∶
				case 8759: return -1; // ∷
				case 8776: return -1; // ≈
				case 8786: return -1; // ≒
				case 8800: return -1; // ≠
				case 8801: return -1; // ≡
				case 8804: return -1; // ≤
				case 8805: return -1; // ≥
				case 8806: return -1; // ≦
				case 8807: return -1; // ≧
				case 12289: return -1; // 、
				case 12290: return -1; // 。
				case 12298: return -1; // 《
				case 12299: return -1; // 》
				case 12304: return -1; // 【
				case 12305: return -1; // 】
				case 12310: return -1; // 〖
				case 12311: return -1; // 〗
				case 19981: return -1; // 不
				case 19988: return -1; // 且
				case 20026: return -1; // 为
				case 20056: return -1; // 乘
				case 20110: return 114; // 于
				case 20182: return -1; // 他
				case 20294: return -1; // 但
				case 20551: return -1; // 假
				case 20943: return -1; // 减
				case 21152: return -1; // 加
				case 21542: return -1; // 否
				case 22823: return -1; // 大
				case 22905: return -1; // 她
				case 22914: return -1; // 如
				case 23427: return -1; // 它
				case 23567: return -1; // 小
				case 24490: return -1; // 循
				case 25110: return -1; // 或
				case 26159: return -1; // 是
				case 30340: return -1; // 的
				case 30452: return -1; // 直
				case 30495: return -1; // 真
				case 31561: return -1; // 等
				case 32467: return -1; // 结
				case 38500: return -1; // 除
				case 65281: return -1; // ！
				case 65283: return -1; // ＃
				case 65286: return -1; // ＆
				case 65288: return -1; // （
				case 65289: return -1; // ）
				case 65291: return -1; // ＋
				case 65292: return -1; // ，
				case 65293: return -1; // －
				case 65295: return -1; // ／
				case 65306: return -1; // ：
				case 65307: return -1; // ；
				case 65308: return -1; // ＜
				case 65309: return -1; // ＝
				case 65310: return -1; // ＞
				case 65311: return -1; // ？
				case 65312: return -1; // ＠
				case 65339: return -1; // ［
				case 65340: return -1; // ＼
				case 65341: return -1; // ］
				case 65371: return -1; // ｛
				case 65372: return -1; // ｜
				case 65373: return -1; // ｝
				case 65374: return -1; // ～
				case 65509: return -1; // ￥
				default: return 10;
				}
			break;
			case 114: return -1;
			case 115:
				switch(u){
				case -1: return -1; // \eof
				case 8: return -1; // \back
				case 9: return -1; // \tab
				case 10: return -1; // \newline
				case 13: return -1; // \return
				case 32: return -1; // \space
				case 33: return -1; // !
				case 34: return -1; // "
				case 35: return -1; // #
				case 36: return -1; // $
				case 37: return -1; // %
				case 38: return -1; // &
				case 39: return -1; // '
				case 40: return -1; // (
				case 41: return -1; // )
				case 42: return -1; // *
				case 43: return -1; // +
				case 44: return -1; // ,
				case 45: return -1; // -
				case 46: return -1; // .
				case 47: return -1; // /
				case 58: return -1; // :
				case 59: return -1; // ;
				case 60: return -1; // <
				case 61: return -1; // =
				case 62: return -1; // >
				case 63: return -1; // ?
				case 64: return -1; // @
				case 91: return -1; // [
				case 92: return -1; // '\'
				case 93: return -1; // ]
				case 94: return -1; // ^
				case 96: return -1; // `
				case 102: return -1; // f
				case 116: return -1; // t
				case 123: return -1; // {
				case 124: return -1; // |
				case 125: return -1; // }
				case 126: return -1; // ~
				case 165: return -1; // ¥
				case 171: return -1; // «
				case 177: return -1; // ±
				case 187: return -1; // »
				case 215: return -1; // ×
				case 247: return -1; // ÷
				case 8212: return -1; // —
				case 8216: return -1; // ‘
				case 8217: return -1; // ’
				case 8220: return -1; // “
				case 8221: return -1; // ”
				case 8230: return -1; // …
				case 8709: return -1; // ∅
				case 8719: return -1; // ∏
				case 8721: return -1; // ∑
				case 8756: return -1; // ∴
				case 8757: return -1; // ∵
				case 8758: return -1; // ∶
				case 8759: return -1; // ∷
				case 8776: return -1; // ≈
				case 8786: return -1; // ≒
				case 8800: return -1; // ≠
				case 8801: return -1; // ≡
				case 8804: return -1; // ≤
				case 8805: return -1; // ≥
				case 8806: return -1; // ≦
				case 8807: return -1; // ≧
				case 12289: return -1; // 、
				case 12290: return -1; // 。
				case 12298: return -1; // 《
				case 12299: return -1; // 》
				case 12304: return -1; // 【
				case 12305: return -1; // 】
				case 12310: return -1; // 〖
				case 12311: return -1; // 〗
				case 19981: return -1; // 不
				case 19988: return -1; // 且
				case 20026: return -1; // 为
				case 20056: return -1; // 乘
				case 20110: return 116; // 于
				case 20182: return -1; // 他
				case 20294: return -1; // 但
				case 20551: return -1; // 假
				case 20943: return -1; // 减
				case 21152: return -1; // 加
				case 21542: return -1; // 否
				case 22823: return -1; // 大
				case 22905: return -1; // 她
				case 22914: return -1; // 如
				case 23427: return -1; // 它
				case 23567: return -1; // 小
				case 24490: return -1; // 循
				case 25110: return -1; // 或
				case 26159: return -1; // 是
				case 30340: return -1; // 的
				case 30452: return -1; // 直
				case 30495: return -1; // 真
				case 31561: return -1; // 等
				case 32467: return -1; // 结
				case 38500: return -1; // 除
				case 65281: return -1; // ！
				case 65283: return -1; // ＃
				case 65286: return -1; // ＆
				case 65288: return -1; // （
				case 65289: return -1; // ）
				case 65291: return -1; // ＋
				case 65292: return -1; // ，
				case 65293: return -1; // －
				case 65295: return -1; // ／
				case 65306: return -1; // ：
				case 65307: return -1; // ；
				case 65308: return -1; // ＜
				case 65309: return -1; // ＝
				case 65310: return -1; // ＞
				case 65311: return -1; // ？
				case 65312: return -1; // ＠
				case 65339: return -1; // ［
				case 65340: return -1; // ＼
				case 65341: return -1; // ］
				case 65371: return -1; // ｛
				case 65372: return -1; // ｜
				case 65373: return -1; // ｝
				case 65374: return -1; // ～
				case 65509: return -1; // ￥
				default: return 10;
				}
			break;
			case 116:
				switch(u){
				case -1: return -1; // \eof
				case 8: return -1; // \back
				case 9: return -1; // \tab
				case 10: return -1; // \newline
				case 13: return -1; // \return
				case 32: return -1; // \space
				case 33: return -1; // !
				case 34: return -1; // "
				case 35: return -1; // #
				case 36: return -1; // $
				case 37: return -1; // %
				case 38: return -1; // &
				case 39: return -1; // '
				case 40: return -1; // (
				case 41: return -1; // )
				case 42: return -1; // *
				case 43: return -1; // +
				case 44: return -1; // ,
				case 45: return -1; // -
				case 46: return -1; // .
				case 47: return -1; // /
				case 58: return -1; // :
				case 59: return -1; // ;
				case 60: return -1; // <
				case 61: return -1; // =
				case 62: return -1; // >
				case 63: return -1; // ?
				case 64: return -1; // @
				case 91: return -1; // [
				case 92: return -1; // '\'
				case 93: return -1; // ]
				case 94: return -1; // ^
				case 96: return -1; // `
				case 102: return -1; // f
				case 116: return -1; // t
				case 123: return -1; // {
				case 124: return -1; // |
				case 125: return -1; // }
				case 126: return -1; // ~
				case 165: return -1; // ¥
				case 171: return -1; // «
				case 177: return -1; // ±
				case 187: return -1; // »
				case 215: return -1; // ×
				case 247: return -1; // ÷
				case 8212: return -1; // —
				case 8216: return -1; // ‘
				case 8217: return -1; // ’
				case 8220: return -1; // “
				case 8221: return -1; // ”
				case 8230: return -1; // …
				case 8709: return -1; // ∅
				case 8719: return -1; // ∏
				case 8721: return -1; // ∑
				case 8756: return -1; // ∴
				case 8757: return -1; // ∵
				case 8758: return -1; // ∶
				case 8759: return -1; // ∷
				case 8776: return -1; // ≈
				case 8786: return -1; // ≒
				case 8800: return -1; // ≠
				case 8801: return -1; // ≡
				case 8804: return -1; // ≤
				case 8805: return -1; // ≥
				case 8806: return -1; // ≦
				case 8807: return -1; // ≧
				case 12288: return 117; // 　
				case 12289: return -1; // 、
				case 12290: return -1; // 。
				case 12298: return -1; // 《
				case 12299: return -1; // 》
				case 12304: return -1; // 【
				case 12305: return -1; // 】
				case 12310: return -1; // 〖
				case 12311: return -1; // 〗
				case 19981: return -1; // 不
				case 19988: return -1; // 且
				case 20026: return -1; // 为
				case 20056: return -1; // 乘
				case 20182: return -1; // 他
				case 20294: return -1; // 但
				case 20551: return -1; // 假
				case 20943: return -1; // 减
				case 21152: return -1; // 加
				case 21542: return -1; // 否
				case 22823: return -1; // 大
				case 22905: return -1; // 她
				case 22914: return -1; // 如
				case 23427: return -1; // 它
				case 23567: return -1; // 小
				case 24490: return -1; // 循
				case 25110: return -1; // 或
				case 26159: return -1; // 是
				case 30340: return -1; // 的
				case 30452: return -1; // 直
				case 30495: return -1; // 真
				case 31561: return -1; // 等
				case 32467: return -1; // 结
				case 38500: return -1; // 除
				case 65281: return -1; // ！
				case 65283: return -1; // ＃
				case 65286: return -1; // ＆
				case 65288: return -1; // （
				case 65289: return -1; // ）
				case 65291: return -1; // ＋
				case 65292: return -1; // ，
				case 65293: return -1; // －
				case 65295: return -1; // ／
				case 65306: return -1; // ：
				case 65307: return -1; // ；
				case 65308: return -1; // ＜
				case 65309: return -1; // ＝
				case 65310: return -1; // ＞
				case 65311: return -1; // ？
				case 65312: return -1; // ＠
				case 65339: return -1; // ［
				case 65340: return -1; // ＼
				case 65341: return -1; // ］
				case 65371: return -1; // ｛
				case 65372: return -1; // ｜
				case 65373: return -1; // ｝
				case 65374: return -1; // ～
				case 65509: return -1; // ￥
				default: return 10;
				}
			break;
			case 117: return -1;
			case 118:
				switch(u){
				case -1: return -1; // \eof
				case 8: return -1; // \back
				case 9: return -1; // \tab
				case 10: return -1; // \newline
				case 13: return -1; // \return
				case 32: return -1; // \space
				case 33: return -1; // !
				case 34: return -1; // "
				case 35: return -1; // #
				case 36: return -1; // $
				case 37: return -1; // %
				case 38: return -1; // &
				case 39: return -1; // '
				case 40: return -1; // (
				case 41: return -1; // )
				case 42: return -1; // *
				case 43: return -1; // +
				case 44: return -1; // ,
				case 45: return -1; // -
				case 46: return -1; // .
				case 47: return -1; // /
				case 58: return -1; // :
				case 59: return -1; // ;
				case 60: return -1; // <
				case 61: return -1; // =
				case 62: return -1; // >
				case 63: return -1; // ?
				case 64: return -1; // @
				case 91: return -1; // [
				case 92: return -1; // '\'
				case 93: return -1; // ]
				case 94: return -1; // ^
				case 96: return -1; // `
				case 102: return -1; // f
				case 116: return -1; // t
				case 123: return -1; // {
				case 124: return -1; // |
				case 125: return -1; // }
				case 126: return -1; // ~
				case 165: return -1; // ¥
				case 171: return -1; // «
				case 177: return -1; // ±
				case 187: return -1; // »
				case 215: return -1; // ×
				case 247: return -1; // ÷
				case 8212: return -1; // —
				case 8216: return -1; // ‘
				case 8217: return -1; // ’
				case 8220: return -1; // “
				case 8221: return -1; // ”
				case 8230: return -1; // …
				case 8709: return -1; // ∅
				case 8719: return -1; // ∏
				case 8721: return -1; // ∑
				case 8756: return -1; // ∴
				case 8757: return -1; // ∵
				case 8758: return -1; // ∶
				case 8759: return -1; // ∷
				case 8776: return -1; // ≈
				case 8786: return -1; // ≒
				case 8800: return -1; // ≠
				case 8801: return -1; // ≡
				case 8804: return -1; // ≤
				case 8805: return -1; // ≥
				case 8806: return -1; // ≦
				case 8807: return -1; // ≧
				case 12289: return -1; // 、
				case 12290: return -1; // 。
				case 12298: return -1; // 《
				case 12299: return -1; // 》
				case 12304: return -1; // 【
				case 12305: return -1; // 】
				case 12310: return -1; // 〖
				case 12311: return -1; // 〗
				case 19981: return -1; // 不
				case 19988: return -1; // 且
				case 20026: return -1; // 为
				case 20056: return -1; // 乘
				case 20182: return -1; // 他
				case 20294: return -1; // 但
				case 20551: return -1; // 假
				case 20943: return -1; // 减
				case 21152: return -1; // 加
				case 21542: return -1; // 否
				case 22823: return 123; // 大
				case 22905: return -1; // 她
				case 22914: return -1; // 如
				case 23427: return -1; // 它
				case 23567: return 121; // 小
				case 24490: return -1; // 循
				case 25110: return -1; // 或
				case 26159: return -1; // 是
				case 30340: return -1; // 的
				case 30452: return -1; // 直
				case 30495: return -1; // 真
				case 31561: return 119; // 等
				case 32467: return -1; // 结
				case 38500: return -1; // 除
				case 65281: return -1; // ！
				case 65283: return -1; // ＃
				case 65286: return -1; // ＆
				case 65288: return -1; // （
				case 65289: return -1; // ）
				case 65291: return -1; // ＋
				case 65292: return -1; // ，
				case 65293: return -1; // －
				case 65295: return -1; // ／
				case 65306: return -1; // ：
				case 65307: return -1; // ；
				case 65308: return -1; // ＜
				case 65309: return -1; // ＝
				case 65310: return -1; // ＞
				case 65311: return -1; // ？
				case 65312: return -1; // ＠
				case 65339: return -1; // ［
				case 65340: return -1; // ＼
				case 65341: return -1; // ］
				case 65371: return -1; // ｛
				case 65372: return -1; // ｜
				case 65373: return -1; // ｝
				case 65374: return -1; // ～
				case 65509: return -1; // ￥
				default: return 10;
				}
			break;
			case 119:
				switch(u){
				case -1: return -1; // \eof
				case 8: return -1; // \back
				case 9: return -1; // \tab
				case 10: return -1; // \newline
				case 13: return -1; // \return
				case 32: return -1; // \space
				case 33: return -1; // !
				case 34: return -1; // "
				case 35: return -1; // #
				case 36: return -1; // $
				case 37: return -1; // %
				case 38: return -1; // &
				case 39: return -1; // '
				case 40: return -1; // (
				case 41: return -1; // )
				case 42: return -1; // *
				case 43: return -1; // +
				case 44: return -1; // ,
				case 45: return -1; // -
				case 46: return -1; // .
				case 47: return -1; // /
				case 58: return -1; // :
				case 59: return -1; // ;
				case 60: return -1; // <
				case 61: return -1; // =
				case 62: return -1; // >
				case 63: return -1; // ?
				case 64: return -1; // @
				case 91: return -1; // [
				case 92: return -1; // '\'
				case 93: return -1; // ]
				case 94: return -1; // ^
				case 96: return -1; // `
				case 102: return -1; // f
				case 116: return -1; // t
				case 123: return -1; // {
				case 124: return -1; // |
				case 125: return -1; // }
				case 126: return -1; // ~
				case 165: return -1; // ¥
				case 171: return -1; // «
				case 177: return -1; // ±
				case 187: return -1; // »
				case 215: return -1; // ×
				case 247: return -1; // ÷
				case 8212: return -1; // —
				case 8216: return -1; // ‘
				case 8217: return -1; // ’
				case 8220: return -1; // “
				case 8221: return -1; // ”
				case 8230: return -1; // …
				case 8709: return -1; // ∅
				case 8719: return -1; // ∏
				case 8721: return -1; // ∑
				case 8756: return -1; // ∴
				case 8757: return -1; // ∵
				case 8758: return -1; // ∶
				case 8759: return -1; // ∷
				case 8776: return -1; // ≈
				case 8786: return -1; // ≒
				case 8800: return -1; // ≠
				case 8801: return -1; // ≡
				case 8804: return -1; // ≤
				case 8805: return -1; // ≥
				case 8806: return -1; // ≦
				case 8807: return -1; // ≧
				case 12289: return -1; // 、
				case 12290: return -1; // 。
				case 12298: return -1; // 《
				case 12299: return -1; // 》
				case 12304: return -1; // 【
				case 12305: return -1; // 】
				case 12310: return -1; // 〖
				case 12311: return -1; // 〗
				case 19981: return -1; // 不
				case 19988: return -1; // 且
				case 20026: return -1; // 为
				case 20056: return -1; // 乘
				case 20110: return 120; // 于
				case 20182: return -1; // 他
				case 20294: return -1; // 但
				case 20551: return -1; // 假
				case 20943: return -1; // 减
				case 21152: return -1; // 加
				case 21542: return -1; // 否
				case 22823: return -1; // 大
				case 22905: return -1; // 她
				case 22914: return -1; // 如
				case 23427: return -1; // 它
				case 23567: return -1; // 小
				case 24490: return -1; // 循
				case 25110: return -1; // 或
				case 26159: return -1; // 是
				case 30340: return -1; // 的
				case 30452: return -1; // 直
				case 30495: return -1; // 真
				case 31561: return -1; // 等
				case 32467: return -1; // 结
				case 38500: return -1; // 除
				case 65281: return -1; // ！
				case 65283: return -1; // ＃
				case 65286: return -1; // ＆
				case 65288: return -1; // （
				case 65289: return -1; // ）
				case 65291: return -1; // ＋
				case 65292: return -1; // ，
				case 65293: return -1; // －
				case 65295: return -1; // ／
				case 65306: return -1; // ：
				case 65307: return -1; // ；
				case 65308: return -1; // ＜
				case 65309: return -1; // ＝
				case 65310: return -1; // ＞
				case 65311: return -1; // ？
				case 65312: return -1; // ＠
				case 65339: return -1; // ［
				case 65340: return -1; // ＼
				case 65341: return -1; // ］
				case 65371: return -1; // ｛
				case 65372: return -1; // ｜
				case 65373: return -1; // ｝
				case 65374: return -1; // ～
				case 65509: return -1; // ￥
				default: return 10;
				}
			break;
			case 120: return -1;
			case 121:
				switch(u){
				case -1: return -1; // \eof
				case 8: return -1; // \back
				case 9: return -1; // \tab
				case 10: return -1; // \newline
				case 13: return -1; // \return
				case 32: return -1; // \space
				case 33: return -1; // !
				case 34: return -1; // "
				case 35: return -1; // #
				case 36: return -1; // $
				case 37: return -1; // %
				case 38: return -1; // &
				case 39: return -1; // '
				case 40: return -1; // (
				case 41: return -1; // )
				case 42: return -1; // *
				case 43: return -1; // +
				case 44: return -1; // ,
				case 45: return -1; // -
				case 46: return -1; // .
				case 47: return -1; // /
				case 58: return -1; // :
				case 59: return -1; // ;
				case 60: return -1; // <
				case 61: return -1; // =
				case 62: return -1; // >
				case 63: return -1; // ?
				case 64: return -1; // @
				case 91: return -1; // [
				case 92: return -1; // '\'
				case 93: return -1; // ]
				case 94: return -1; // ^
				case 96: return -1; // `
				case 102: return -1; // f
				case 116: return -1; // t
				case 123: return -1; // {
				case 124: return -1; // |
				case 125: return -1; // }
				case 126: return -1; // ~
				case 165: return -1; // ¥
				case 171: return -1; // «
				case 177: return -1; // ±
				case 187: return -1; // »
				case 215: return -1; // ×
				case 247: return -1; // ÷
				case 8212: return -1; // —
				case 8216: return -1; // ‘
				case 8217: return -1; // ’
				case 8220: return -1; // “
				case 8221: return -1; // ”
				case 8230: return -1; // …
				case 8709: return -1; // ∅
				case 8719: return -1; // ∏
				case 8721: return -1; // ∑
				case 8756: return -1; // ∴
				case 8757: return -1; // ∵
				case 8758: return -1; // ∶
				case 8759: return -1; // ∷
				case 8776: return -1; // ≈
				case 8786: return -1; // ≒
				case 8800: return -1; // ≠
				case 8801: return -1; // ≡
				case 8804: return -1; // ≤
				case 8805: return -1; // ≥
				case 8806: return -1; // ≦
				case 8807: return -1; // ≧
				case 12289: return -1; // 、
				case 12290: return -1; // 。
				case 12298: return -1; // 《
				case 12299: return -1; // 》
				case 12304: return -1; // 【
				case 12305: return -1; // 】
				case 12310: return -1; // 〖
				case 12311: return -1; // 〗
				case 19981: return -1; // 不
				case 19988: return -1; // 且
				case 20026: return -1; // 为
				case 20056: return -1; // 乘
				case 20110: return 122; // 于
				case 20182: return -1; // 他
				case 20294: return -1; // 但
				case 20551: return -1; // 假
				case 20943: return -1; // 减
				case 21152: return -1; // 加
				case 21542: return -1; // 否
				case 22823: return -1; // 大
				case 22905: return -1; // 她
				case 22914: return -1; // 如
				case 23427: return -1; // 它
				case 23567: return -1; // 小
				case 24490: return -1; // 循
				case 25110: return -1; // 或
				case 26159: return -1; // 是
				case 30340: return -1; // 的
				case 30452: return -1; // 直
				case 30495: return -1; // 真
				case 31561: return -1; // 等
				case 32467: return -1; // 结
				case 38500: return -1; // 除
				case 65281: return -1; // ！
				case 65283: return -1; // ＃
				case 65286: return -1; // ＆
				case 65288: return -1; // （
				case 65289: return -1; // ）
				case 65291: return -1; // ＋
				case 65292: return -1; // ，
				case 65293: return -1; // －
				case 65295: return -1; // ／
				case 65306: return -1; // ：
				case 65307: return -1; // ；
				case 65308: return -1; // ＜
				case 65309: return -1; // ＝
				case 65310: return -1; // ＞
				case 65311: return -1; // ？
				case 65312: return -1; // ＠
				case 65339: return -1; // ［
				case 65340: return -1; // ＼
				case 65341: return -1; // ］
				case 65371: return -1; // ｛
				case 65372: return -1; // ｜
				case 65373: return -1; // ｝
				case 65374: return -1; // ～
				case 65509: return -1; // ￥
				default: return 10;
				}
			break;
			case 122:
				switch(u){
				case 31561: return 125; // 等
				default: return -1;
				}
			break;
			case 123:
				switch(u){
				case -1: return -1; // \eof
				case 8: return -1; // \back
				case 9: return -1; // \tab
				case 10: return -1; // \newline
				case 13: return -1; // \return
				case 32: return -1; // \space
				case 33: return -1; // !
				case 34: return -1; // "
				case 35: return -1; // #
				case 36: return -1; // $
				case 37: return -1; // %
				case 38: return -1; // &
				case 39: return -1; // '
				case 40: return -1; // (
				case 41: return -1; // )
				case 42: return -1; // *
				case 43: return -1; // +
				case 44: return -1; // ,
				case 45: return -1; // -
				case 46: return -1; // .
				case 47: return -1; // /
				case 58: return -1; // :
				case 59: return -1; // ;
				case 60: return -1; // <
				case 61: return -1; // =
				case 62: return -1; // >
				case 63: return -1; // ?
				case 64: return -1; // @
				case 91: return -1; // [
				case 92: return -1; // '\'
				case 93: return -1; // ]
				case 94: return -1; // ^
				case 96: return -1; // `
				case 102: return -1; // f
				case 116: return -1; // t
				case 123: return -1; // {
				case 124: return -1; // |
				case 125: return -1; // }
				case 126: return -1; // ~
				case 165: return -1; // ¥
				case 171: return -1; // «
				case 177: return -1; // ±
				case 187: return -1; // »
				case 215: return -1; // ×
				case 247: return -1; // ÷
				case 8212: return -1; // —
				case 8216: return -1; // ‘
				case 8217: return -1; // ’
				case 8220: return -1; // “
				case 8221: return -1; // ”
				case 8230: return -1; // …
				case 8709: return -1; // ∅
				case 8719: return -1; // ∏
				case 8721: return -1; // ∑
				case 8756: return -1; // ∴
				case 8757: return -1; // ∵
				case 8758: return -1; // ∶
				case 8759: return -1; // ∷
				case 8776: return -1; // ≈
				case 8786: return -1; // ≒
				case 8800: return -1; // ≠
				case 8801: return -1; // ≡
				case 8804: return -1; // ≤
				case 8805: return -1; // ≥
				case 8806: return -1; // ≦
				case 8807: return -1; // ≧
				case 12289: return -1; // 、
				case 12290: return -1; // 。
				case 12298: return -1; // 《
				case 12299: return -1; // 》
				case 12304: return -1; // 【
				case 12305: return -1; // 】
				case 12310: return -1; // 〖
				case 12311: return -1; // 〗
				case 19981: return -1; // 不
				case 19988: return -1; // 且
				case 20026: return -1; // 为
				case 20056: return -1; // 乘
				case 20110: return 124; // 于
				case 20182: return -1; // 他
				case 20294: return -1; // 但
				case 20551: return -1; // 假
				case 20943: return -1; // 减
				case 21152: return -1; // 加
				case 21542: return -1; // 否
				case 22823: return -1; // 大
				case 22905: return -1; // 她
				case 22914: return -1; // 如
				case 23427: return -1; // 它
				case 23567: return -1; // 小
				case 24490: return -1; // 循
				case 25110: return -1; // 或
				case 26159: return -1; // 是
				case 30340: return -1; // 的
				case 30452: return -1; // 直
				case 30495: return -1; // 真
				case 31561: return -1; // 等
				case 32467: return -1; // 结
				case 38500: return -1; // 除
				case 65281: return -1; // ！
				case 65283: return -1; // ＃
				case 65286: return -1; // ＆
				case 65288: return -1; // （
				case 65289: return -1; // ）
				case 65291: return -1; // ＋
				case 65292: return -1; // ，
				case 65293: return -1; // －
				case 65295: return -1; // ／
				case 65306: return -1; // ：
				case 65307: return -1; // ；
				case 65308: return -1; // ＜
				case 65309: return -1; // ＝
				case 65310: return -1; // ＞
				case 65311: return -1; // ？
				case 65312: return -1; // ＠
				case 65339: return -1; // ［
				case 65340: return -1; // ＼
				case 65341: return -1; // ］
				case 65371: return -1; // ｛
				case 65372: return -1; // ｜
				case 65373: return -1; // ｝
				case 65374: return -1; // ～
				case 65509: return -1; // ￥
				default: return 10;
				}
			break;
			case 124:
				switch(u){
				case 31561: return 127; // 等
				default: return -1;
				}
			break;
			case 125:
				switch(u){
				case -1: return -1; // \eof
				case 8: return -1; // \back
				case 9: return -1; // \tab
				case 10: return -1; // \newline
				case 13: return -1; // \return
				case 32: return -1; // \space
				case 33: return -1; // !
				case 34: return -1; // "
				case 35: return -1; // #
				case 36: return -1; // $
				case 37: return -1; // %
				case 38: return -1; // &
				case 39: return -1; // '
				case 40: return -1; // (
				case 41: return -1; // )
				case 42: return -1; // *
				case 43: return -1; // +
				case 44: return -1; // ,
				case 45: return -1; // -
				case 46: return -1; // .
				case 47: return -1; // /
				case 58: return -1; // :
				case 59: return -1; // ;
				case 60: return -1; // <
				case 61: return -1; // =
				case 62: return -1; // >
				case 63: return -1; // ?
				case 64: return -1; // @
				case 91: return -1; // [
				case 92: return -1; // '\'
				case 93: return -1; // ]
				case 94: return -1; // ^
				case 96: return -1; // `
				case 102: return -1; // f
				case 116: return -1; // t
				case 123: return -1; // {
				case 124: return -1; // |
				case 125: return -1; // }
				case 126: return -1; // ~
				case 165: return -1; // ¥
				case 171: return -1; // «
				case 177: return -1; // ±
				case 187: return -1; // »
				case 215: return -1; // ×
				case 247: return -1; // ÷
				case 8212: return -1; // —
				case 8216: return -1; // ‘
				case 8217: return -1; // ’
				case 8220: return -1; // “
				case 8221: return -1; // ”
				case 8230: return -1; // …
				case 8709: return -1; // ∅
				case 8719: return -1; // ∏
				case 8721: return -1; // ∑
				case 8756: return -1; // ∴
				case 8757: return -1; // ∵
				case 8758: return -1; // ∶
				case 8759: return -1; // ∷
				case 8776: return -1; // ≈
				case 8786: return -1; // ≒
				case 8800: return -1; // ≠
				case 8801: return -1; // ≡
				case 8804: return -1; // ≤
				case 8805: return -1; // ≥
				case 8806: return -1; // ≦
				case 8807: return -1; // ≧
				case 12289: return -1; // 、
				case 12290: return -1; // 。
				case 12298: return -1; // 《
				case 12299: return -1; // 》
				case 12304: return -1; // 【
				case 12305: return -1; // 】
				case 12310: return -1; // 〖
				case 12311: return -1; // 〗
				case 19981: return -1; // 不
				case 19988: return -1; // 且
				case 20026: return -1; // 为
				case 20056: return -1; // 乘
				case 20110: return 126; // 于
				case 20182: return -1; // 他
				case 20294: return -1; // 但
				case 20551: return -1; // 假
				case 20943: return -1; // 减
				case 21152: return -1; // 加
				case 21542: return -1; // 否
				case 22823: return -1; // 大
				case 22905: return -1; // 她
				case 22914: return -1; // 如
				case 23427: return -1; // 它
				case 23567: return -1; // 小
				case 24490: return -1; // 循
				case 25110: return -1; // 或
				case 26159: return -1; // 是
				case 30340: return -1; // 的
				case 30452: return -1; // 直
				case 30495: return -1; // 真
				case 31561: return -1; // 等
				case 32467: return -1; // 结
				case 38500: return -1; // 除
				case 65281: return -1; // ！
				case 65283: return -1; // ＃
				case 65286: return -1; // ＆
				case 65288: return -1; // （
				case 65289: return -1; // ）
				case 65291: return -1; // ＋
				case 65292: return -1; // ，
				case 65293: return -1; // －
				case 65295: return -1; // ／
				case 65306: return -1; // ：
				case 65307: return -1; // ；
				case 65308: return -1; // ＜
				case 65309: return -1; // ＝
				case 65310: return -1; // ＞
				case 65311: return -1; // ？
				case 65312: return -1; // ＠
				case 65339: return -1; // ［
				case 65340: return -1; // ＼
				case 65341: return -1; // ］
				case 65371: return -1; // ｛
				case 65372: return -1; // ｜
				case 65373: return -1; // ｝
				case 65374: return -1; // ～
				case 65509: return -1; // ￥
				default: return 10;
				}
			break;
			case 126: return -1;
			case 127:
				switch(u){
				case -1: return -1; // \eof
				case 8: return -1; // \back
				case 9: return -1; // \tab
				case 10: return -1; // \newline
				case 13: return -1; // \return
				case 32: return -1; // \space
				case 33: return -1; // !
				case 34: return -1; // "
				case 35: return -1; // #
				case 36: return -1; // $
				case 37: return -1; // %
				case 38: return -1; // &
				case 39: return -1; // '
				case 40: return -1; // (
				case 41: return -1; // )
				case 42: return -1; // *
				case 43: return -1; // +
				case 44: return -1; // ,
				case 45: return -1; // -
				case 46: return -1; // .
				case 47: return -1; // /
				case 58: return -1; // :
				case 59: return -1; // ;
				case 60: return -1; // <
				case 61: return -1; // =
				case 62: return -1; // >
				case 63: return -1; // ?
				case 64: return -1; // @
				case 91: return -1; // [
				case 92: return -1; // '\'
				case 93: return -1; // ]
				case 94: return -1; // ^
				case 96: return -1; // `
				case 102: return -1; // f
				case 116: return -1; // t
				case 123: return -1; // {
				case 124: return -1; // |
				case 125: return -1; // }
				case 126: return -1; // ~
				case 165: return -1; // ¥
				case 171: return -1; // «
				case 177: return -1; // ±
				case 187: return -1; // »
				case 215: return -1; // ×
				case 247: return -1; // ÷
				case 8212: return -1; // —
				case 8216: return -1; // ‘
				case 8217: return -1; // ’
				case 8220: return -1; // “
				case 8221: return -1; // ”
				case 8230: return -1; // …
				case 8709: return -1; // ∅
				case 8719: return -1; // ∏
				case 8721: return -1; // ∑
				case 8756: return -1; // ∴
				case 8757: return -1; // ∵
				case 8758: return -1; // ∶
				case 8759: return -1; // ∷
				case 8776: return -1; // ≈
				case 8786: return -1; // ≒
				case 8800: return -1; // ≠
				case 8801: return -1; // ≡
				case 8804: return -1; // ≤
				case 8805: return -1; // ≥
				case 8806: return -1; // ≦
				case 8807: return -1; // ≧
				case 12289: return -1; // 、
				case 12290: return -1; // 。
				case 12298: return -1; // 《
				case 12299: return -1; // 》
				case 12304: return -1; // 【
				case 12305: return -1; // 】
				case 12310: return -1; // 〖
				case 12311: return -1; // 〗
				case 19981: return -1; // 不
				case 19988: return -1; // 且
				case 20026: return -1; // 为
				case 20056: return -1; // 乘
				case 20110: return 128; // 于
				case 20182: return -1; // 他
				case 20294: return -1; // 但
				case 20551: return -1; // 假
				case 20943: return -1; // 减
				case 21152: return -1; // 加
				case 21542: return -1; // 否
				case 22823: return -1; // 大
				case 22905: return -1; // 她
				case 22914: return -1; // 如
				case 23427: return -1; // 它
				case 23567: return -1; // 小
				case 24490: return -1; // 循
				case 25110: return -1; // 或
				case 26159: return -1; // 是
				case 30340: return -1; // 的
				case 30452: return -1; // 直
				case 30495: return -1; // 真
				case 31561: return -1; // 等
				case 32467: return -1; // 结
				case 38500: return -1; // 除
				case 65281: return -1; // ！
				case 65283: return -1; // ＃
				case 65286: return -1; // ＆
				case 65288: return -1; // （
				case 65289: return -1; // ）
				case 65291: return -1; // ＋
				case 65292: return -1; // ，
				case 65293: return -1; // －
				case 65295: return -1; // ／
				case 65306: return -1; // ：
				case 65307: return -1; // ；
				case 65308: return -1; // ＜
				case 65309: return -1; // ＝
				case 65310: return -1; // ＞
				case 65311: return -1; // ？
				case 65312: return -1; // ＠
				case 65339: return -1; // ［
				case 65340: return -1; // ＼
				case 65341: return -1; // ］
				case 65371: return -1; // ｛
				case 65372: return -1; // ｜
				case 65373: return -1; // ｝
				case 65374: return -1; // ～
				case 65509: return -1; // ￥
				default: return 10;
				}
			break;
			case 128: return -1;
			case 129: return -1;
			case 130:
				switch(u){
				case -1: return -1; // \eof
				case 8: return -1; // \back
				case 9: return -1; // \tab
				case 10: return -1; // \newline
				case 13: return -1; // \return
				case 32: return -1; // \space
				case 33: return -1; // !
				case 34: return -1; // "
				case 35: return -1; // #
				case 36: return -1; // $
				case 37: return -1; // %
				case 38: return -1; // &
				case 39: return -1; // '
				case 40: return -1; // (
				case 41: return -1; // )
				case 42: return -1; // *
				case 43: return -1; // +
				case 44: return -1; // ,
				case 45: return -1; // -
				case 46: return -1; // .
				case 47: return -1; // /
				case 58: return -1; // :
				case 59: return -1; // ;
				case 60: return -1; // <
				case 61: return -1; // =
				case 62: return -1; // >
				case 63: return -1; // ?
				case 64: return -1; // @
				case 91: return -1; // [
				case 92: return -1; // '\'
				case 93: return -1; // ]
				case 94: return -1; // ^
				case 96: return -1; // `
				case 102: return -1; // f
				case 116: return -1; // t
				case 123: return -1; // {
				case 124: return -1; // |
				case 125: return -1; // }
				case 126: return -1; // ~
				case 165: return -1; // ¥
				case 171: return -1; // «
				case 177: return -1; // ±
				case 187: return -1; // »
				case 215: return -1; // ×
				case 247: return -1; // ÷
				case 8212: return -1; // —
				case 8216: return -1; // ‘
				case 8217: return -1; // ’
				case 8220: return -1; // “
				case 8221: return -1; // ”
				case 8230: return -1; // …
				case 8709: return -1; // ∅
				case 8719: return -1; // ∏
				case 8721: return -1; // ∑
				case 8756: return -1; // ∴
				case 8757: return -1; // ∵
				case 8758: return -1; // ∶
				case 8759: return -1; // ∷
				case 8776: return -1; // ≈
				case 8786: return -1; // ≒
				case 8800: return -1; // ≠
				case 8801: return -1; // ≡
				case 8804: return -1; // ≤
				case 8805: return -1; // ≥
				case 8806: return -1; // ≦
				case 8807: return -1; // ≧
				case 12289: return -1; // 、
				case 12290: return -1; // 。
				case 12298: return -1; // 《
				case 12299: return -1; // 》
				case 12304: return -1; // 【
				case 12305: return -1; // 】
				case 12310: return -1; // 〖
				case 12311: return -1; // 〗
				case 19981: return -1; // 不
				case 19988: return -1; // 且
				case 20026: return -1; // 为
				case 20056: return -1; // 乘
				case 20182: return -1; // 他
				case 20294: return -1; // 但
				case 20551: return -1; // 假
				case 20943: return -1; // 减
				case 21152: return -1; // 加
				case 21542: return -1; // 否
				case 22823: return -1; // 大
				case 22905: return -1; // 她
				case 22914: return -1; // 如
				case 23427: return -1; // 它
				case 23567: return -1; // 小
				case 24490: return -1; // 循
				case 25110: return -1; // 或
				case 26159: return -1; // 是
				case 26524: return 131; // 果
				case 30340: return -1; // 的
				case 30452: return -1; // 直
				case 30495: return -1; // 真
				case 31561: return -1; // 等
				case 32467: return -1; // 结
				case 38500: return -1; // 除
				case 65281: return -1; // ！
				case 65283: return -1; // ＃
				case 65286: return -1; // ＆
				case 65288: return -1; // （
				case 65289: return -1; // ）
				case 65291: return -1; // ＋
				case 65292: return -1; // ，
				case 65293: return -1; // －
				case 65295: return -1; // ／
				case 65306: return -1; // ：
				case 65307: return -1; // ；
				case 65308: return -1; // ＜
				case 65309: return -1; // ＝
				case 65310: return -1; // ＞
				case 65311: return -1; // ？
				case 65312: return -1; // ＠
				case 65339: return -1; // ［
				case 65340: return -1; // ＼
				case 65341: return -1; // ］
				case 65371: return -1; // ｛
				case 65372: return -1; // ｜
				case 65373: return -1; // ｝
				case 65374: return -1; // ～
				case 65509: return -1; // ￥
				default: return 10;
				}
			break;
			case 131: return -1;
			case 132:
				switch(u){
				case -1: return -1; // \eof
				case 8: return -1; // \back
				case 9: return -1; // \tab
				case 10: return -1; // \newline
				case 13: return -1; // \return
				case 32: return -1; // \space
				case 33: return -1; // !
				case 34: return -1; // "
				case 35: return -1; // #
				case 36: return -1; // $
				case 37: return -1; // %
				case 38: return -1; // &
				case 39: return -1; // '
				case 40: return -1; // (
				case 41: return -1; // )
				case 42: return -1; // *
				case 43: return -1; // +
				case 44: return -1; // ,
				case 45: return -1; // -
				case 46: return -1; // .
				case 47: return -1; // /
				case 58: return -1; // :
				case 59: return -1; // ;
				case 60: return -1; // <
				case 61: return -1; // =
				case 62: return -1; // >
				case 63: return -1; // ?
				case 64: return -1; // @
				case 91: return -1; // [
				case 92: return -1; // '\'
				case 93: return -1; // ]
				case 94: return -1; // ^
				case 96: return -1; // `
				case 102: return -1; // f
				case 116: return -1; // t
				case 123: return -1; // {
				case 124: return -1; // |
				case 125: return -1; // }
				case 126: return -1; // ~
				case 165: return -1; // ¥
				case 171: return -1; // «
				case 177: return -1; // ±
				case 187: return -1; // »
				case 215: return -1; // ×
				case 247: return -1; // ÷
				case 8212: return -1; // —
				case 8216: return -1; // ‘
				case 8217: return -1; // ’
				case 8220: return -1; // “
				case 8221: return -1; // ”
				case 8230: return -1; // …
				case 8709: return -1; // ∅
				case 8719: return -1; // ∏
				case 8721: return -1; // ∑
				case 8756: return -1; // ∴
				case 8757: return -1; // ∵
				case 8758: return -1; // ∶
				case 8759: return -1; // ∷
				case 8776: return -1; // ≈
				case 8786: return -1; // ≒
				case 8800: return -1; // ≠
				case 8801: return -1; // ≡
				case 8804: return -1; // ≤
				case 8805: return -1; // ≥
				case 8806: return -1; // ≦
				case 8807: return -1; // ≧
				case 12289: return -1; // 、
				case 12290: return -1; // 。
				case 12298: return -1; // 《
				case 12299: return -1; // 》
				case 12304: return -1; // 【
				case 12305: return -1; // 】
				case 12310: return -1; // 〖
				case 12311: return -1; // 〗
				case 19981: return -1; // 不
				case 19988: return -1; // 且
				case 20026: return -1; // 为
				case 20056: return -1; // 乘
				case 20182: return -1; // 他
				case 20294: return -1; // 但
				case 20551: return -1; // 假
				case 20943: return -1; // 减
				case 21152: return -1; // 加
				case 21542: return -1; // 否
				case 22823: return -1; // 大
				case 22905: return -1; // 她
				case 22914: return 136; // 如
				case 23427: return -1; // 它
				case 23567: return -1; // 小
				case 24490: return -1; // 循
				case 25110: return -1; // 或
				case 26159: return 133; // 是
				case 30340: return -1; // 的
				case 30452: return -1; // 直
				case 30495: return -1; // 真
				case 31561: return -1; // 等
				case 32467: return -1; // 结
				case 38500: return -1; // 除
				case 65281: return -1; // ！
				case 65283: return -1; // ＃
				case 65286: return -1; // ＆
				case 65288: return -1; // （
				case 65289: return -1; // ）
				case 65291: return -1; // ＋
				case 65292: return -1; // ，
				case 65293: return -1; // －
				case 65295: return -1; // ／
				case 65306: return -1; // ：
				case 65307: return -1; // ；
				case 65308: return -1; // ＜
				case 65309: return -1; // ＝
				case 65310: return -1; // ＞
				case 65311: return -1; // ？
				case 65312: return -1; // ＠
				case 65339: return -1; // ［
				case 65340: return -1; // ＼
				case 65341: return -1; // ］
				case 65371: return -1; // ｛
				case 65372: return -1; // ｜
				case 65373: return -1; // ｝
				case 65374: return -1; // ～
				case 65509: return -1; // ￥
				default: return 10;
				}
			break;
			case 133:
				switch(u){
				case 22914: return 134; // 如
				default: return -1;
				}
			break;
			case 134:
				switch(u){
				case -1: return -1; // \eof
				case 8: return -1; // \back
				case 9: return -1; // \tab
				case 10: return -1; // \newline
				case 13: return -1; // \return
				case 32: return -1; // \space
				case 33: return -1; // !
				case 34: return -1; // "
				case 35: return -1; // #
				case 36: return -1; // $
				case 37: return -1; // %
				case 38: return -1; // &
				case 39: return -1; // '
				case 40: return -1; // (
				case 41: return -1; // )
				case 42: return -1; // *
				case 43: return -1; // +
				case 44: return -1; // ,
				case 45: return -1; // -
				case 46: return -1; // .
				case 47: return -1; // /
				case 58: return -1; // :
				case 59: return -1; // ;
				case 60: return -1; // <
				case 61: return -1; // =
				case 62: return -1; // >
				case 63: return -1; // ?
				case 64: return -1; // @
				case 91: return -1; // [
				case 92: return -1; // '\'
				case 93: return -1; // ]
				case 94: return -1; // ^
				case 96: return -1; // `
				case 102: return -1; // f
				case 116: return -1; // t
				case 123: return -1; // {
				case 124: return -1; // |
				case 125: return -1; // }
				case 126: return -1; // ~
				case 165: return -1; // ¥
				case 171: return -1; // «
				case 177: return -1; // ±
				case 187: return -1; // »
				case 215: return -1; // ×
				case 247: return -1; // ÷
				case 8212: return -1; // —
				case 8216: return -1; // ‘
				case 8217: return -1; // ’
				case 8220: return -1; // “
				case 8221: return -1; // ”
				case 8230: return -1; // …
				case 8709: return -1; // ∅
				case 8719: return -1; // ∏
				case 8721: return -1; // ∑
				case 8756: return -1; // ∴
				case 8757: return -1; // ∵
				case 8758: return -1; // ∶
				case 8759: return -1; // ∷
				case 8776: return -1; // ≈
				case 8786: return -1; // ≒
				case 8800: return -1; // ≠
				case 8801: return -1; // ≡
				case 8804: return -1; // ≤
				case 8805: return -1; // ≥
				case 8806: return -1; // ≦
				case 8807: return -1; // ≧
				case 12289: return -1; // 、
				case 12290: return -1; // 。
				case 12298: return -1; // 《
				case 12299: return -1; // 》
				case 12304: return -1; // 【
				case 12305: return -1; // 】
				case 12310: return -1; // 〖
				case 12311: return -1; // 〗
				case 19981: return -1; // 不
				case 19988: return -1; // 且
				case 20026: return -1; // 为
				case 20056: return -1; // 乘
				case 20182: return -1; // 他
				case 20294: return -1; // 但
				case 20551: return -1; // 假
				case 20943: return -1; // 减
				case 21152: return -1; // 加
				case 21542: return -1; // 否
				case 22823: return -1; // 大
				case 22905: return -1; // 她
				case 22914: return -1; // 如
				case 23427: return -1; // 它
				case 23567: return -1; // 小
				case 24490: return -1; // 循
				case 25110: return -1; // 或
				case 26159: return -1; // 是
				case 26524: return 135; // 果
				case 30340: return -1; // 的
				case 30452: return -1; // 直
				case 30495: return -1; // 真
				case 31561: return -1; // 等
				case 32467: return -1; // 结
				case 38500: return -1; // 除
				case 65281: return -1; // ！
				case 65283: return -1; // ＃
				case 65286: return -1; // ＆
				case 65288: return -1; // （
				case 65289: return -1; // ）
				case 65291: return -1; // ＋
				case 65292: return -1; // ，
				case 65293: return -1; // －
				case 65295: return -1; // ／
				case 65306: return -1; // ：
				case 65307: return -1; // ；
				case 65308: return -1; // ＜
				case 65309: return -1; // ＝
				case 65310: return -1; // ＞
				case 65311: return -1; // ？
				case 65312: return -1; // ＠
				case 65339: return -1; // ［
				case 65340: return -1; // ＼
				case 65341: return -1; // ］
				case 65371: return -1; // ｛
				case 65372: return -1; // ｜
				case 65373: return -1; // ｝
				case 65374: return -1; // ～
				case 65509: return -1; // ￥
				default: return 10;
				}
			break;
			case 135: return -1;
			case 136:
				switch(u){
				case -1: return -1; // \eof
				case 8: return -1; // \back
				case 9: return -1; // \tab
				case 10: return -1; // \newline
				case 13: return -1; // \return
				case 32: return -1; // \space
				case 33: return -1; // !
				case 34: return -1; // "
				case 35: return -1; // #
				case 36: return -1; // $
				case 37: return -1; // %
				case 38: return -1; // &
				case 39: return -1; // '
				case 40: return -1; // (
				case 41: return -1; // )
				case 42: return -1; // *
				case 43: return -1; // +
				case 44: return -1; // ,
				case 45: return -1; // -
				case 46: return -1; // .
				case 47: return -1; // /
				case 58: return -1; // :
				case 59: return -1; // ;
				case 60: return -1; // <
				case 61: return -1; // =
				case 62: return -1; // >
				case 63: return -1; // ?
				case 64: return -1; // @
				case 91: return -1; // [
				case 92: return -1; // '\'
				case 93: return -1; // ]
				case 94: return -1; // ^
				case 96: return -1; // `
				case 102: return -1; // f
				case 116: return -1; // t
				case 123: return -1; // {
				case 124: return -1; // |
				case 125: return -1; // }
				case 126: return -1; // ~
				case 165: return -1; // ¥
				case 171: return -1; // «
				case 177: return -1; // ±
				case 187: return -1; // »
				case 215: return -1; // ×
				case 247: return -1; // ÷
				case 8212: return -1; // —
				case 8216: return -1; // ‘
				case 8217: return -1; // ’
				case 8220: return -1; // “
				case 8221: return -1; // ”
				case 8230: return -1; // …
				case 8709: return -1; // ∅
				case 8719: return -1; // ∏
				case 8721: return -1; // ∑
				case 8756: return -1; // ∴
				case 8757: return -1; // ∵
				case 8758: return -1; // ∶
				case 8759: return -1; // ∷
				case 8776: return -1; // ≈
				case 8786: return -1; // ≒
				case 8800: return -1; // ≠
				case 8801: return -1; // ≡
				case 8804: return -1; // ≤
				case 8805: return -1; // ≥
				case 8806: return -1; // ≦
				case 8807: return -1; // ≧
				case 12289: return -1; // 、
				case 12290: return -1; // 。
				case 12298: return -1; // 《
				case 12299: return -1; // 》
				case 12304: return -1; // 【
				case 12305: return -1; // 】
				case 12310: return -1; // 〖
				case 12311: return -1; // 〗
				case 19981: return -1; // 不
				case 19988: return -1; // 且
				case 20026: return -1; // 为
				case 20056: return -1; // 乘
				case 20182: return -1; // 他
				case 20294: return -1; // 但
				case 20551: return -1; // 假
				case 20943: return -1; // 减
				case 21152: return -1; // 加
				case 21542: return -1; // 否
				case 22823: return -1; // 大
				case 22905: return -1; // 她
				case 22914: return -1; // 如
				case 23427: return -1; // 它
				case 23567: return -1; // 小
				case 24490: return -1; // 循
				case 25110: return -1; // 或
				case 26159: return -1; // 是
				case 26524: return 137; // 果
				case 30340: return -1; // 的
				case 30452: return -1; // 直
				case 30495: return -1; // 真
				case 31561: return -1; // 等
				case 32467: return -1; // 结
				case 38500: return -1; // 除
				case 65281: return -1; // ！
				case 65283: return -1; // ＃
				case 65286: return -1; // ＆
				case 65288: return -1; // （
				case 65289: return -1; // ）
				case 65291: return -1; // ＋
				case 65292: return -1; // ，
				case 65293: return -1; // －
				case 65295: return -1; // ／
				case 65306: return -1; // ：
				case 65307: return -1; // ；
				case 65308: return -1; // ＜
				case 65309: return -1; // ＝
				case 65310: return -1; // ＞
				case 65311: return -1; // ？
				case 65312: return -1; // ＠
				case 65339: return -1; // ［
				case 65340: return -1; // ＼
				case 65341: return -1; // ］
				case 65371: return -1; // ｛
				case 65372: return -1; // ｜
				case 65373: return -1; // ｝
				case 65374: return -1; // ～
				case 65509: return -1; // ￥
				default: return 10;
				}
			break;
			case 137: return -1;
			case 138: return -1;
			case 139:
				switch(u){
				case -1: return -1; // \eof
				case 8: return -1; // \back
				case 9: return -1; // \tab
				case 10: return -1; // \newline
				case 13: return -1; // \return
				case 32: return -1; // \space
				case 33: return -1; // !
				case 34: return -1; // "
				case 35: return -1; // #
				case 36: return -1; // $
				case 37: return -1; // %
				case 38: return -1; // &
				case 39: return -1; // '
				case 40: return -1; // (
				case 41: return -1; // )
				case 42: return -1; // *
				case 43: return -1; // +
				case 44: return -1; // ,
				case 45: return -1; // -
				case 46: return -1; // .
				case 47: return -1; // /
				case 58: return -1; // :
				case 59: return -1; // ;
				case 60: return -1; // <
				case 61: return -1; // =
				case 62: return -1; // >
				case 63: return -1; // ?
				case 64: return -1; // @
				case 91: return -1; // [
				case 92: return -1; // '\'
				case 93: return -1; // ]
				case 94: return -1; // ^
				case 96: return -1; // `
				case 102: return -1; // f
				case 116: return -1; // t
				case 123: return -1; // {
				case 124: return -1; // |
				case 125: return -1; // }
				case 126: return -1; // ~
				case 165: return -1; // ¥
				case 171: return -1; // «
				case 177: return -1; // ±
				case 187: return -1; // »
				case 215: return -1; // ×
				case 247: return -1; // ÷
				case 8212: return -1; // —
				case 8216: return -1; // ‘
				case 8217: return -1; // ’
				case 8220: return -1; // “
				case 8221: return -1; // ”
				case 8230: return -1; // …
				case 8709: return -1; // ∅
				case 8719: return -1; // ∏
				case 8721: return -1; // ∑
				case 8756: return -1; // ∴
				case 8757: return -1; // ∵
				case 8758: return -1; // ∶
				case 8759: return -1; // ∷
				case 8776: return -1; // ≈
				case 8786: return -1; // ≒
				case 8800: return -1; // ≠
				case 8801: return -1; // ≡
				case 8804: return -1; // ≤
				case 8805: return -1; // ≥
				case 8806: return -1; // ≦
				case 8807: return -1; // ≧
				case 12289: return -1; // 、
				case 12290: return -1; // 。
				case 12298: return -1; // 《
				case 12299: return -1; // 》
				case 12304: return -1; // 【
				case 12305: return -1; // 】
				case 12310: return -1; // 〖
				case 12311: return -1; // 〗
				case 19981: return -1; // 不
				case 19988: return -1; // 且
				case 20026: return -1; // 为
				case 20056: return -1; // 乘
				case 20182: return -1; // 他
				case 20294: return -1; // 但
				case 20551: return -1; // 假
				case 20943: return -1; // 减
				case 21040: return 140; // 到
				case 21152: return -1; // 加
				case 21542: return -1; // 否
				case 22823: return -1; // 大
				case 22905: return -1; // 她
				case 22914: return -1; // 如
				case 23427: return -1; // 它
				case 23567: return -1; // 小
				case 24490: return -1; // 循
				case 25110: return -1; // 或
				case 26159: return -1; // 是
				case 30340: return -1; // 的
				case 30452: return -1; // 直
				case 30495: return -1; // 真
				case 31561: return -1; // 等
				case 32467: return -1; // 结
				case 38500: return -1; // 除
				case 65281: return -1; // ！
				case 65283: return -1; // ＃
				case 65286: return -1; // ＆
				case 65288: return -1; // （
				case 65289: return -1; // ）
				case 65291: return -1; // ＋
				case 65292: return -1; // ，
				case 65293: return -1; // －
				case 65295: return -1; // ／
				case 65306: return -1; // ：
				case 65307: return -1; // ；
				case 65308: return -1; // ＜
				case 65309: return -1; // ＝
				case 65310: return -1; // ＞
				case 65311: return -1; // ？
				case 65312: return -1; // ＠
				case 65339: return -1; // ［
				case 65340: return -1; // ＼
				case 65341: return -1; // ］
				case 65371: return -1; // ｛
				case 65372: return -1; // ｜
				case 65373: return -1; // ｝
				case 65374: return -1; // ～
				case 65509: return -1; // ￥
				default: return 10;
				}
			break;
			case 140: return -1;
			case 141:
				switch(u){
				case -1: return -1; // \eof
				case 8: return -1; // \back
				case 9: return -1; // \tab
				case 10: return -1; // \newline
				case 13: return -1; // \return
				case 32: return -1; // \space
				case 33: return -1; // !
				case 34: return -1; // "
				case 35: return -1; // #
				case 36: return -1; // $
				case 37: return -1; // %
				case 38: return -1; // &
				case 39: return -1; // '
				case 40: return -1; // (
				case 41: return -1; // )
				case 42: return -1; // *
				case 43: return -1; // +
				case 44: return -1; // ,
				case 45: return -1; // -
				case 46: return -1; // .
				case 47: return -1; // /
				case 58: return -1; // :
				case 59: return -1; // ;
				case 60: return -1; // <
				case 61: return -1; // =
				case 62: return -1; // >
				case 63: return -1; // ?
				case 64: return -1; // @
				case 91: return -1; // [
				case 92: return -1; // '\'
				case 93: return -1; // ]
				case 94: return -1; // ^
				case 96: return -1; // `
				case 102: return -1; // f
				case 116: return -1; // t
				case 123: return -1; // {
				case 124: return -1; // |
				case 125: return -1; // }
				case 126: return -1; // ~
				case 165: return -1; // ¥
				case 171: return -1; // «
				case 177: return -1; // ±
				case 187: return -1; // »
				case 215: return -1; // ×
				case 247: return -1; // ÷
				case 8212: return -1; // —
				case 8216: return -1; // ‘
				case 8217: return -1; // ’
				case 8220: return -1; // “
				case 8221: return -1; // ”
				case 8230: return -1; // …
				case 8709: return -1; // ∅
				case 8719: return -1; // ∏
				case 8721: return -1; // ∑
				case 8756: return -1; // ∴
				case 8757: return -1; // ∵
				case 8758: return -1; // ∶
				case 8759: return -1; // ∷
				case 8776: return -1; // ≈
				case 8786: return -1; // ≒
				case 8800: return -1; // ≠
				case 8801: return -1; // ≡
				case 8804: return -1; // ≤
				case 8805: return -1; // ≥
				case 8806: return -1; // ≦
				case 8807: return -1; // ≧
				case 12289: return -1; // 、
				case 12290: return -1; // 。
				case 12298: return -1; // 《
				case 12299: return -1; // 》
				case 12304: return -1; // 【
				case 12305: return -1; // 】
				case 12310: return -1; // 〖
				case 12311: return -1; // 〗
				case 19981: return -1; // 不
				case 19988: return -1; // 且
				case 20026: return -1; // 为
				case 20056: return -1; // 乘
				case 20182: return -1; // 他
				case 20294: return -1; // 但
				case 20551: return -1; // 假
				case 20943: return -1; // 减
				case 21152: return -1; // 加
				case 21542: return -1; // 否
				case 22823: return -1; // 大
				case 22905: return -1; // 她
				case 22914: return -1; // 如
				case 23427: return -1; // 它
				case 23567: return -1; // 小
				case 24490: return -1; // 循
				case 25110: return -1; // 或
				case 26159: return -1; // 是
				case 29615: return 142; // 环
				case 30340: return -1; // 的
				case 30452: return -1; // 直
				case 30495: return -1; // 真
				case 31561: return -1; // 等
				case 32467: return -1; // 结
				case 38500: return -1; // 除
				case 65281: return -1; // ！
				case 65283: return -1; // ＃
				case 65286: return -1; // ＆
				case 65288: return -1; // （
				case 65289: return -1; // ）
				case 65291: return -1; // ＋
				case 65292: return -1; // ，
				case 65293: return -1; // －
				case 65295: return -1; // ／
				case 65306: return -1; // ：
				case 65307: return -1; // ；
				case 65308: return -1; // ＜
				case 65309: return -1; // ＝
				case 65310: return -1; // ＞
				case 65311: return -1; // ？
				case 65312: return -1; // ＠
				case 65339: return -1; // ［
				case 65340: return -1; // ＼
				case 65341: return -1; // ］
				case 65371: return -1; // ｛
				case 65372: return -1; // ｜
				case 65373: return -1; // ｝
				case 65374: return -1; // ～
				case 65509: return -1; // ￥
				default: return 10;
				}
			break;
			case 142:
				switch(u){
				case 20572: return 143; // 停
				case 22240: return 147; // 因
				case 32487: return 145; // 继
				default: return -1;
				}
			break;
			case 143:
				switch(u){
				case -1: return -1; // \eof
				case 8: return -1; // \back
				case 9: return -1; // \tab
				case 10: return -1; // \newline
				case 13: return -1; // \return
				case 32: return -1; // \space
				case 33: return -1; // !
				case 34: return -1; // "
				case 35: return -1; // #
				case 36: return -1; // $
				case 37: return -1; // %
				case 38: return -1; // &
				case 39: return -1; // '
				case 40: return -1; // (
				case 41: return -1; // )
				case 42: return -1; // *
				case 43: return -1; // +
				case 44: return -1; // ,
				case 45: return -1; // -
				case 46: return -1; // .
				case 47: return -1; // /
				case 58: return -1; // :
				case 59: return -1; // ;
				case 60: return -1; // <
				case 61: return -1; // =
				case 62: return -1; // >
				case 63: return -1; // ?
				case 64: return -1; // @
				case 91: return -1; // [
				case 92: return -1; // '\'
				case 93: return -1; // ]
				case 94: return -1; // ^
				case 96: return -1; // `
				case 102: return -1; // f
				case 116: return -1; // t
				case 123: return -1; // {
				case 124: return -1; // |
				case 125: return -1; // }
				case 126: return -1; // ~
				case 165: return -1; // ¥
				case 171: return -1; // «
				case 177: return -1; // ±
				case 187: return -1; // »
				case 215: return -1; // ×
				case 247: return -1; // ÷
				case 8212: return -1; // —
				case 8216: return -1; // ‘
				case 8217: return -1; // ’
				case 8220: return -1; // “
				case 8221: return -1; // ”
				case 8230: return -1; // …
				case 8709: return -1; // ∅
				case 8719: return -1; // ∏
				case 8721: return -1; // ∑
				case 8756: return -1; // ∴
				case 8757: return -1; // ∵
				case 8758: return -1; // ∶
				case 8759: return -1; // ∷
				case 8776: return -1; // ≈
				case 8786: return -1; // ≒
				case 8800: return -1; // ≠
				case 8801: return -1; // ≡
				case 8804: return -1; // ≤
				case 8805: return -1; // ≥
				case 8806: return -1; // ≦
				case 8807: return -1; // ≧
				case 12289: return -1; // 、
				case 12290: return -1; // 。
				case 12298: return -1; // 《
				case 12299: return -1; // 》
				case 12304: return -1; // 【
				case 12305: return -1; // 】
				case 12310: return -1; // 〖
				case 12311: return -1; // 〗
				case 19981: return -1; // 不
				case 19988: return -1; // 且
				case 20026: return -1; // 为
				case 20056: return -1; // 乘
				case 20182: return -1; // 他
				case 20294: return -1; // 但
				case 20551: return -1; // 假
				case 20943: return -1; // 减
				case 21152: return -1; // 加
				case 21542: return -1; // 否
				case 22823: return -1; // 大
				case 22905: return -1; // 她
				case 22914: return -1; // 如
				case 23427: return -1; // 它
				case 23567: return -1; // 小
				case 24490: return -1; // 循
				case 25110: return -1; // 或
				case 26159: return -1; // 是
				case 27490: return 144; // 止
				case 30340: return -1; // 的
				case 30452: return -1; // 直
				case 30495: return -1; // 真
				case 31561: return -1; // 等
				case 32467: return -1; // 结
				case 38500: return -1; // 除
				case 65281: return -1; // ！
				case 65283: return -1; // ＃
				case 65286: return -1; // ＆
				case 65288: return -1; // （
				case 65289: return -1; // ）
				case 65291: return -1; // ＋
				case 65292: return -1; // ，
				case 65293: return -1; // －
				case 65295: return -1; // ／
				case 65306: return -1; // ：
				case 65307: return -1; // ；
				case 65308: return -1; // ＜
				case 65309: return -1; // ＝
				case 65310: return -1; // ＞
				case 65311: return -1; // ？
				case 65312: return -1; // ＠
				case 65339: return -1; // ［
				case 65340: return -1; // ＼
				case 65341: return -1; // ］
				case 65371: return -1; // ｛
				case 65372: return -1; // ｜
				case 65373: return -1; // ｝
				case 65374: return -1; // ～
				case 65509: return -1; // ￥
				default: return 10;
				}
			break;
			case 144: return -1;
			case 145:
				switch(u){
				case -1: return -1; // \eof
				case 8: return -1; // \back
				case 9: return -1; // \tab
				case 10: return -1; // \newline
				case 13: return -1; // \return
				case 32: return -1; // \space
				case 33: return -1; // !
				case 34: return -1; // "
				case 35: return -1; // #
				case 36: return -1; // $
				case 37: return -1; // %
				case 38: return -1; // &
				case 39: return -1; // '
				case 40: return -1; // (
				case 41: return -1; // )
				case 42: return -1; // *
				case 43: return -1; // +
				case 44: return -1; // ,
				case 45: return -1; // -
				case 46: return -1; // .
				case 47: return -1; // /
				case 58: return -1; // :
				case 59: return -1; // ;
				case 60: return -1; // <
				case 61: return -1; // =
				case 62: return -1; // >
				case 63: return -1; // ?
				case 64: return -1; // @
				case 91: return -1; // [
				case 92: return -1; // '\'
				case 93: return -1; // ]
				case 94: return -1; // ^
				case 96: return -1; // `
				case 102: return -1; // f
				case 116: return -1; // t
				case 123: return -1; // {
				case 124: return -1; // |
				case 125: return -1; // }
				case 126: return -1; // ~
				case 165: return -1; // ¥
				case 171: return -1; // «
				case 177: return -1; // ±
				case 187: return -1; // »
				case 215: return -1; // ×
				case 247: return -1; // ÷
				case 8212: return -1; // —
				case 8216: return -1; // ‘
				case 8217: return -1; // ’
				case 8220: return -1; // “
				case 8221: return -1; // ”
				case 8230: return -1; // …
				case 8709: return -1; // ∅
				case 8719: return -1; // ∏
				case 8721: return -1; // ∑
				case 8756: return -1; // ∴
				case 8757: return -1; // ∵
				case 8758: return -1; // ∶
				case 8759: return -1; // ∷
				case 8776: return -1; // ≈
				case 8786: return -1; // ≒
				case 8800: return -1; // ≠
				case 8801: return -1; // ≡
				case 8804: return -1; // ≤
				case 8805: return -1; // ≥
				case 8806: return -1; // ≦
				case 8807: return -1; // ≧
				case 12289: return -1; // 、
				case 12290: return -1; // 。
				case 12298: return -1; // 《
				case 12299: return -1; // 》
				case 12304: return -1; // 【
				case 12305: return -1; // 】
				case 12310: return -1; // 〖
				case 12311: return -1; // 〗
				case 19981: return -1; // 不
				case 19988: return -1; // 且
				case 20026: return -1; // 为
				case 20056: return -1; // 乘
				case 20182: return -1; // 他
				case 20294: return -1; // 但
				case 20551: return -1; // 假
				case 20943: return -1; // 减
				case 21152: return -1; // 加
				case 21542: return -1; // 否
				case 22823: return -1; // 大
				case 22905: return -1; // 她
				case 22914: return -1; // 如
				case 23427: return -1; // 它
				case 23567: return -1; // 小
				case 24490: return -1; // 循
				case 25110: return -1; // 或
				case 26159: return -1; // 是
				case 30340: return -1; // 的
				case 30452: return -1; // 直
				case 30495: return -1; // 真
				case 31561: return -1; // 等
				case 32467: return -1; // 结
				case 32493: return 146; // 续
				case 38500: return -1; // 除
				case 65281: return -1; // ！
				case 65283: return -1; // ＃
				case 65286: return -1; // ＆
				case 65288: return -1; // （
				case 65289: return -1; // ）
				case 65291: return -1; // ＋
				case 65292: return -1; // ，
				case 65293: return -1; // －
				case 65295: return -1; // ／
				case 65306: return -1; // ：
				case 65307: return -1; // ；
				case 65308: return -1; // ＜
				case 65309: return -1; // ＝
				case 65310: return -1; // ＞
				case 65311: return -1; // ？
				case 65312: return -1; // ＠
				case 65339: return -1; // ［
				case 65340: return -1; // ＼
				case 65341: return -1; // ］
				case 65371: return -1; // ｛
				case 65372: return -1; // ｜
				case 65373: return -1; // ｝
				case 65374: return -1; // ～
				case 65509: return -1; // ￥
				default: return 10;
				}
			break;
			case 146: return -1;
			case 147:
				switch(u){
				case -1: return -1; // \eof
				case 8: return -1; // \back
				case 9: return -1; // \tab
				case 10: return -1; // \newline
				case 13: return -1; // \return
				case 32: return -1; // \space
				case 33: return -1; // !
				case 34: return -1; // "
				case 35: return -1; // #
				case 36: return -1; // $
				case 37: return -1; // %
				case 38: return -1; // &
				case 39: return -1; // '
				case 40: return -1; // (
				case 41: return -1; // )
				case 42: return -1; // *
				case 43: return -1; // +
				case 44: return -1; // ,
				case 45: return -1; // -
				case 46: return -1; // .
				case 47: return -1; // /
				case 58: return -1; // :
				case 59: return -1; // ;
				case 60: return -1; // <
				case 61: return -1; // =
				case 62: return -1; // >
				case 63: return -1; // ?
				case 64: return -1; // @
				case 91: return -1; // [
				case 92: return -1; // '\'
				case 93: return -1; // ]
				case 94: return -1; // ^
				case 96: return -1; // `
				case 102: return -1; // f
				case 116: return -1; // t
				case 123: return -1; // {
				case 124: return -1; // |
				case 125: return -1; // }
				case 126: return -1; // ~
				case 165: return -1; // ¥
				case 171: return -1; // «
				case 177: return -1; // ±
				case 187: return -1; // »
				case 215: return -1; // ×
				case 247: return -1; // ÷
				case 8212: return -1; // —
				case 8216: return -1; // ‘
				case 8217: return -1; // ’
				case 8220: return -1; // “
				case 8221: return -1; // ”
				case 8230: return -1; // …
				case 8709: return -1; // ∅
				case 8719: return -1; // ∏
				case 8721: return -1; // ∑
				case 8756: return -1; // ∴
				case 8757: return -1; // ∵
				case 8758: return -1; // ∶
				case 8759: return -1; // ∷
				case 8776: return -1; // ≈
				case 8786: return -1; // ≒
				case 8800: return -1; // ≠
				case 8801: return -1; // ≡
				case 8804: return -1; // ≤
				case 8805: return -1; // ≥
				case 8806: return -1; // ≦
				case 8807: return -1; // ≧
				case 12289: return -1; // 、
				case 12290: return -1; // 。
				case 12298: return -1; // 《
				case 12299: return -1; // 》
				case 12304: return -1; // 【
				case 12305: return -1; // 】
				case 12310: return -1; // 〖
				case 12311: return -1; // 〗
				case 19981: return -1; // 不
				case 19988: return -1; // 且
				case 20026: return -1; // 为
				case 20056: return -1; // 乘
				case 20182: return -1; // 他
				case 20294: return -1; // 但
				case 20551: return -1; // 假
				case 20943: return -1; // 减
				case 21152: return -1; // 加
				case 21542: return -1; // 否
				case 22823: return -1; // 大
				case 22905: return -1; // 她
				case 22914: return -1; // 如
				case 23376: return 148; // 子
				case 23427: return -1; // 它
				case 23567: return -1; // 小
				case 24490: return -1; // 循
				case 25110: return -1; // 或
				case 26159: return -1; // 是
				case 30340: return -1; // 的
				case 30452: return -1; // 直
				case 30495: return -1; // 真
				case 31561: return -1; // 等
				case 32467: return -1; // 结
				case 38500: return -1; // 除
				case 65281: return -1; // ！
				case 65283: return -1; // ＃
				case 65286: return -1; // ＆
				case 65288: return -1; // （
				case 65289: return -1; // ）
				case 65291: return -1; // ＋
				case 65292: return -1; // ，
				case 65293: return -1; // －
				case 65295: return -1; // ／
				case 65306: return -1; // ：
				case 65307: return -1; // ；
				case 65308: return -1; // ＜
				case 65309: return -1; // ＝
				case 65310: return -1; // ＞
				case 65311: return -1; // ？
				case 65312: return -1; // ＠
				case 65339: return -1; // ［
				case 65340: return -1; // ＼
				case 65341: return -1; // ］
				case 65371: return -1; // ｛
				case 65372: return -1; // ｜
				case 65373: return -1; // ｝
				case 65374: return -1; // ～
				case 65509: return -1; // ￥
				default: return 10;
				}
			break;
			case 148: return -1;
			case 149:
				switch(u){
				case -1: return -1; // \eof
				case 8: return -1; // \back
				case 9: return -1; // \tab
				case 10: return -1; // \newline
				case 13: return -1; // \return
				case 32: return -1; // \space
				case 33: return -1; // !
				case 34: return -1; // "
				case 35: return -1; // #
				case 36: return -1; // $
				case 37: return -1; // %
				case 38: return -1; // &
				case 39: return -1; // '
				case 40: return -1; // (
				case 41: return -1; // )
				case 42: return -1; // *
				case 43: return -1; // +
				case 44: return -1; // ,
				case 45: return -1; // -
				case 46: return -1; // .
				case 47: return -1; // /
				case 58: return -1; // :
				case 59: return -1; // ;
				case 60: return -1; // <
				case 61: return -1; // =
				case 62: return -1; // >
				case 63: return -1; // ?
				case 64: return -1; // @
				case 91: return -1; // [
				case 92: return -1; // '\'
				case 93: return -1; // ]
				case 94: return -1; // ^
				case 96: return -1; // `
				case 102: return -1; // f
				case 116: return -1; // t
				case 123: return -1; // {
				case 124: return -1; // |
				case 125: return -1; // }
				case 126: return -1; // ~
				case 165: return -1; // ¥
				case 171: return -1; // «
				case 177: return -1; // ±
				case 187: return -1; // »
				case 215: return -1; // ×
				case 247: return -1; // ÷
				case 8212: return -1; // —
				case 8216: return -1; // ‘
				case 8217: return -1; // ’
				case 8220: return -1; // “
				case 8221: return -1; // ”
				case 8230: return -1; // …
				case 8709: return -1; // ∅
				case 8719: return -1; // ∏
				case 8721: return -1; // ∑
				case 8756: return -1; // ∴
				case 8757: return -1; // ∵
				case 8758: return -1; // ∶
				case 8759: return -1; // ∷
				case 8776: return -1; // ≈
				case 8786: return -1; // ≒
				case 8800: return -1; // ≠
				case 8801: return -1; // ≡
				case 8804: return -1; // ≤
				case 8805: return -1; // ≥
				case 8806: return -1; // ≦
				case 8807: return -1; // ≧
				case 12289: return -1; // 、
				case 12290: return -1; // 。
				case 12298: return -1; // 《
				case 12299: return -1; // 》
				case 12304: return -1; // 【
				case 12305: return -1; // 】
				case 12310: return -1; // 〖
				case 12311: return -1; // 〗
				case 19981: return -1; // 不
				case 19988: return -1; // 且
				case 20026: return -1; // 为
				case 20056: return -1; // 乘
				case 20182: return -1; // 他
				case 20294: return -1; // 但
				case 20551: return -1; // 假
				case 20943: return -1; // 减
				case 21152: return -1; // 加
				case 21542: return -1; // 否
				case 22823: return -1; // 大
				case 22905: return -1; // 她
				case 22914: return -1; // 如
				case 23427: return -1; // 它
				case 23567: return -1; // 小
				case 24490: return -1; // 循
				case 25110: return -1; // 或
				case 26159: return -1; // 是
				case 26463: return 150; // 束
				case 30340: return -1; // 的
				case 30452: return -1; // 直
				case 30495: return -1; // 真
				case 31561: return -1; // 等
				case 32467: return -1; // 结
				case 38500: return -1; // 除
				case 65281: return -1; // ！
				case 65283: return -1; // ＃
				case 65286: return -1; // ＆
				case 65288: return -1; // （
				case 65289: return -1; // ）
				case 65291: return -1; // ＋
				case 65292: return -1; // ，
				case 65293: return -1; // －
				case 65295: return -1; // ／
				case 65306: return -1; // ：
				case 65307: return -1; // ；
				case 65308: return -1; // ＜
				case 65309: return -1; // ＝
				case 65310: return -1; // ＞
				case 65311: return -1; // ？
				case 65312: return -1; // ＠
				case 65339: return -1; // ［
				case 65340: return -1; // ＼
				case 65341: return -1; // ］
				case 65371: return -1; // ｛
				case 65372: return -1; // ｜
				case 65373: return -1; // ｝
				case 65374: return -1; // ～
				case 65509: return -1; // ￥
				default: return 10;
				}
			break;
			case 150: return -1;
			case 151: return -1;
			case 152: return -1;
			case 153: return -1;
			case 154: return -1;
			case 155: return -1;
			case 156: return -1;
			case 157: return -1;
			default: return _err;
			}
		}

		static inline int ACCEPT(const int s){
			switch(s){
			case 1: return 6; // _blank
			case 2: return 1; // _eof
			case 3: return 3; // _realnum
			case 4: return 3; // _realnum
			case 9: return 4; // _str
			case 10: return 2; // _id
			case 11: return 5; // _note
			case 24: return 7; // _add
			case 25: return 8; // _sub
			case 26: return 9; // _mult
			case 27: return 10; // _dev
			case 28: return 9; // _mult
			case 29: return 10; // _dev
			case 30: return 11; // _link
			case 31: return 11; // _link
			case 32: return 12; // _assign
			case 33: return 13; // _eq
			case 34: return 14; // _lt
			case 35: return 15; // _gt
			case 36: return 14; // _lt
			case 37: return 15; // _gt
			case 38: return 16; // _le
			case 39: return 17; // _ge
			case 40: return 16; // _le
			case 41: return 17; // _ge
			case 42: return 16; // _le
			case 43: return 17; // _ge
			case 44: return 13; // _eq
			case 46: return 18; // _ne
			case 47: return 18; // _ne
			case 48: return 19; // _lbracket
			case 49: return 20; // _rbracket
			case 50: return 19; // _lbracket
			case 51: return 20; // _rbracket
			case 52: return 21; // _lparen
			case 53: return 22; // _rparen
			case 54: return 21; // _lparen
			case 55: return 22; // _rparen
			case 56: return 23; // _lbrace
			case 57: return 24; // _rbrace
			case 58: return 25; // _dot
			case 59: return 25; // _dot
			case 60: return 26; // _comma
			case 61: return 26; // _comma
			case 62: return 27; // _semicolon
			case 63: return 27; // _semicolon
			case 64: return 27; // _semicolon
			case 65: return 27; // _semicolon
			case 66: return 28; // _dun
			case 67: return 28; // _dun
			case 68: return 29; // _at
			case 69: return 2; // _id
			case 70: return 2; // _id
			case 71: return 2; // _id
			case 72: return 30; // _true
			case 73: return 2; // _id
			case 74: return 2; // _id
			case 75: return 2; // _id
			case 76: return 2; // _id
			case 77: return 31; // _false
			case 78: return 12; // _assign
			case 79: return 32; // _shi
			case 80: return 33; // _fou
			case 81: return 2; // _id
			case 82: return 2; // _id
			case 83: return 34; // _shifoueq
			case 84: return 2; // _id
			case 85: return 2; // _id
			case 86: return 35; // _shifoune
			case 87: return 2; // _id
			case 88: return 36; // _shifoult
			case 89: return 2; // _id
			case 90: return 37; // _shifougt
			case 91: return 2; // _id
			case 92: return 38; // _shifoule
			case 93: return 2; // _id
			case 94: return 39; // _shifouge
			case 95: return 2; // _id
			case 96: return 39; // _shifouge
			case 97: return 2; // _id
			case 98: return 38; // _shifoule
			case 99: return 2; // _id
			case 100: return 37; // _shifougt
			case 101: return 2; // _id
			case 102: return 36; // _shifoult
			case 103: return 30; // _true
			case 104: return 31; // _false
			case 105: return 40; // _or
			case 106: return 41; // _and
			case 107: return 2; // _id
			case 108: return 13; // _eq
			case 109: return 2; // _id
			case 110: return 14; // _lt
			case 111: return 2; // _id
			case 112: return 15; // _gt
			case 113: return 2; // _id
			case 114: return 16; // _le
			case 115: return 2; // _id
			case 116: return 2; // _id
			case 117: return 17; // _ge
			case 118: return 2; // _id
			case 119: return 2; // _id
			case 120: return 18; // _ne
			case 121: return 2; // _id
			case 122: return 17; // _ge
			case 123: return 2; // _id
			case 124: return 16; // _le
			case 125: return 2; // _id
			case 126: return 15; // _gt
			case 127: return 2; // _id
			case 128: return 14; // _lt
			case 129: return 42; // _de
			case 130: return 2; // _id
			case 131: return 43; // _if
			case 132: return 2; // _id
			case 133: return 44; // _elif
			case 134: return 2; // _id
			case 135: return 44; // _elif
			case 136: return 2; // _id
			case 137: return 44; // _elif
			case 138: return 45; // _else
			case 139: return 2; // _id
			case 140: return 46; // _until
			case 141: return 2; // _id
			case 142: return 47; // _loop
			case 143: return 2; // _id
			case 144: return 48; // _break
			case 145: return 2; // _id
			case 146: return 49; // _continue
			case 147: return 2; // _id
			case 148: return 50; // _loopfactor
			case 149: return 2; // _id
			case 150: return 51; // _end
			case 151: return 7; // _add
			case 152: return 8; // _sub
			case 153: return 9; // _mult
			case 154: return 10; // _dev
			case 155: return 52; // _ta
			case 156: return 52; // _ta
			case 157: return 52; // _ta
			default: return _err;
			}
		}

		template<typename FRONT>
		static inline word_t NEXTWORD(FRONT & front){
			my::unicode_t u;
			word_t s = 0;
			word_t n = -1;
			while(true){
				u = front.nextUnicode();
				n = STATE(s, u);
				if(n <= _err){
					front.backUnicode();
					return (n == _err)? ACCEPT(s):n;
				}
				s = n;
			}
		}

		static my::unicode_t ESCAPE(const int state, const my::unicode_t u){
			switch(state){
			case 6:
				switch(u){
				case 34: return 34;
				case 64: return 64;
				case 8220: return 8220;
				case 8221: return 8221;
				}
			case 8:
				switch(u){
				case 34: return 34;
				case 64: return 64;
				case 8220: return 8220;
				case 8221: return 8221;
				}
			case 13:
				switch(u){
				case 98: return 9;
				}
			case 15:
				switch(u){
				case 98: return 9;
				}
			case 17:
				switch(u){
				case 102: return -1;
				}
			case 19:
				switch(u){
				case 102: return -1;
				}
			case 20:
				switch(u){
				case 36710: return 10;
				}
			case 21:
				switch(u){
				case 36710: return 10;
				}
			case 22:
				switch(u){
				case 34920: return 9;
				}
			case 23:
				switch(u){
				case 34920: return 9;
				}
			default: return u;
			}
		}

		static bool NEXTESCAPE(const my::unicode_t * str, size_t & forward, my::unicode_t & u){
			int str_body = STATE(0, str[0]);
			int pos = str_body;
			int next;
			while(true){
				next = STATE(pos, str[++forward]);
				if(next == _attr_str) return false;
				else if(next == str_body){
					u = ESCAPE(pos, str[forward]);
					break;
				}
				pos = next;
			}
			return true;
		}

	}
}

#endif
